本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
设备预调配 MQTT API
实例集预置服务支持以下 MQTT API 操作:
此 API 支持简洁二进制对象表示法 (CBOR) 格式和 JavaScript 对象表示法 (JSON) 格式的响应缓冲区,具体取决于主题的 payload-format
。为了清楚起见,本节中的响应和请求示例以 JSON 格式显示。
payload-format |
响应格式数据类型 |
---|---|
cbor | 简洁二进制对象表示法 (CBOR) |
json | JavaScript 对象表示法 (JSON) |
重要
在发布请求消息主题之前,请订阅响应主题以接收响应。此 API 使用的消息使用 MQTT 的发布/订阅协议来提供请求和响应交互。
如果您未在发布请求之前订阅响应主题,则无法收到该请求的结果。
CreateCertificateFromCsr
从证书签名请求 (CSR) 创建证书。Amazon IoT 提供由 Amazon Root 证书颁发机构 (CA) 签发的客户端证书。新证书的状态为 PENDING_ACTIVATION
。当您调用 RegisterThing
使用此证书预调配事物时,证书状态将如模板中所述,更改为 ACTIVE
或 INACTIVE
。
有关使用证书颁发机构证书和证书签名请求来创建客户端证书的更多信息,请参阅使用您的 CA 证书创建客户端证书。
注意
为了安全起见,CreateCertificateFromCsr
返回的 certificateOwnershipToken
会在一小时后过期。必须在 certificateOwnershipToken
过期前调用 RegisterThing
。如果由 CreateCertificateFromCsr
创建的证书尚未激活,并且在令牌过期时尚未附加到策略或事物,则该证书将被删除。如果令牌过期,设备可以调用 CreateCertificateFromCsr
以生成新证书。
CreateCertificateFromCsr 请求
发布包含 $aws/certificates/create-from-csr/
主题的消息。payload-format
payload-format
-
消息负载格式为
cbor
或json
。
CreateCertificateFromCsr 请求负载
{ "certificateSigningRequest": "string" }
certificateSigningRequest
-
CSR,采用 PEM 格式。
CreateCertificateFromCsr 响应
订阅 $aws/certificates/create-from-csr/
。payload-format
/accepted
payload-format
-
消息负载格式为
cbor
或json
。
CreateCertificateFromCsr 响应负载
{ "certificateOwnershipToken": "string", "certificateId": "string", "certificatePem": "string" }
certificateOwnershipToken
-
在预调配期间证明证书所有权的令牌。
certificateId
-
证书的 ID。证书管理操作仅接受 certificateId。
certificatePem
-
PEM 格式的证书数据。
CreateCertificateFromCsr 错误
要接收错误响应,请订阅 $aws/certificates/create-from-csr/
。payload-format
/rejected
payload-format
-
消息负载格式为
cbor
或json
。
CreateCertificateFromCsr 错误负载
{ "statusCode": int, "errorCode": "string", "errorMessage": "string" }
statusCode
-
状态代码。
errorCode
-
错误代码。
errorMessage
-
错误消息。
CreateKeysAndCertificate
创建新的密钥和证书。Amazon IoT 提供由 Amazon Root 证书颁发机构 (CA) 签发的客户端证书。新证书的状态为 PENDING_ACTIVATION
。当您调用 RegisterThing
使用此证书预调配事物时,证书状态将如模板中所述,更改为 ACTIVE
或 INACTIVE
。
注意
为了安全起见,CreateKeysAndCertificate
返回的 certificateOwnershipToken
会在一小时后过期。必须在 certificateOwnershipToken
过期前调用 RegisterThing
。如果由 CreateKeysAndCertificate
创建的证书尚未激活,并且在令牌过期时尚未附加到策略或事物,则该证书将被删除。如果令牌过期,设备可以调用 CreateKeysAndCertificate
以生成新证书。
CreateKeysAndCertificate 请求
在 $aws/certificates/create/
上发布带有空消息负载的消息。payload-format
payload-format
-
消息负载格式为
cbor
或json
。
CreateKeysAndCertificate 响应
订阅 $aws/certificates/create/
。payload-format
/accepted
payload-format
-
消息负载格式为
cbor
或json
。
CreateKeysAndCertificate 响应
{ "certificateId": "string", "certificatePem": "string", "privateKey": "string", "certificateOwnershipToken": "string" }
certificateId
-
证书 ID。
certificatePem
-
PEM 格式的证书数据。
privateKey
-
私有密钥。
certificateOwnershipToken
-
在预调配期间证明证书所有权的令牌。
CreateKeysAndCertificate 错误
要接收错误响应,请订阅 $aws/certificates/create/
。payload-format
/rejected
payload-format
-
消息负载格式为
cbor
或json
。
CreateKeysAndCertificate 错误负载
{ "statusCode": int, "errorCode": "string", "errorMessage": "string" }
statusCode
-
状态代码。
errorCode
-
错误代码。
errorMessage
-
错误消息。
RegisterThing
使用预定义的模板预调配事物。
RegisterThing 请求
在 $aws/provisioning-templates/
上发布消息。templateName
/provision/payload-format
payload-format
-
消息负载格式为
cbor
或json
。 templateName
-
预调配模板名称。
RegisterThing 请求负载
{ "certificateOwnershipToken": "string", "parameters": { "string": "string", ... } }
certificateOwnershipToken
-
证明证书所有权的令牌。当您通过 MQTT 创建证书时,Amazon IoT 会生成令牌。
parameters
-
可选。来自设备的键/值对由预先预调配挂钩用于评估注册请求。
RegisterThing 响应
订阅 $aws/provisioning-templates/
。templateName
/provision/payload-format
/accepted
payload-format
-
消息负载格式为
cbor
或json
。 templateName
-
预调配模板名称。
RegisterThing 响应负载
{ "deviceConfiguration": { "string": "string", ... }, "thingName": "string" }
deviceConfiguration
-
在模板中定义的设备配置。
thingName
-
预调配期间创建的 IoT 事物的名称。
RegisterThing 错误响应
要接收错误响应,请订阅 $aws/provisioning-templates/
。templateName
/provision/payload-format
/rejected
payload-format
-
消息负载格式为
cbor
或json
。 templateName
-
预调配模板名称。
RegisterThing 错误响应负载
{ "statusCode": int, "errorCode": "string", "errorMessage": "string" }
statusCode
-
状态代码。
errorCode
-
错误代码。
errorMessage
-
错误消息。