设备预调配 MQTT API - Amazon IoT Core
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

设备预调配 MQTT API

队列配置服务支持以下 MQTT API 操作:

此 API 支持简明二进制对象表示 (CBOR) 格式和 JavaScript 对象表示法 (JSON) 的响应缓冲区,具体取决于主题的有效载荷格式。为清楚起见,本节中的响应和请求示例以 JSON 格式显示。

payload-format 响应格式数据类型
cbor 简洁二进制对象表示法 (CBOR)
json JavaScript 对象表示法 (JSON)
重要

在发布请求消息主题之前,请订阅响应主题以接收响应。此 API 使用的消息使用 MQTT 的发布/订阅协议来提供请求和响应交互。

如果您在发布请求之前没有订阅响应主题,则可能不会收到该请求的结果。

CreateCertificateFromCsr

根据证书签名请求 (CSR) 创建证书。 Amazon IoT 提供由 Amazon 根证书颁发机构 (CA) 签署的客户证书。新证书的状态为 PENDING_ACTIVATION。当您调用 RegisterThing 使用此证书预调配事物时,证书状态将如模板中所述,更改为 ACTIVEINACTIVE

有关使用证书颁发机构证书和证书签名请求来创建客户端证书的更多信息,请参阅使用您的 CA 证书创建客户端证书

注意

为了安全起见,CreateCertificateFromCsr 返回的 certificateOwnershipToken 会在一小时后过期。必须在 certificateOwnershipToken 过期前调用 RegisterThing。如果在令牌到期时,由创建的证书CreateCertificateFromCsr尚未激活并附加到策略或事物,则该证书将被删除。如果令牌过期,设备可以调用 CreateCertificateFromCsr 以生成新证书。

CreateCertificateFromCsr请求

发布包含 $aws/certificates/create-from-csr/payload-format 主题的消息。

payload-format

消息负载格式为 cborjson

CreateCertificateFromCsr请求有效载荷

{ "certificateSigningRequest": "string" }
certificateSigningRequest

CSR,采用 PEM 格式。

CreateCertificateFromCsr 响应

订阅 $aws/certificates/create-from-csr/payload-format/accepted

payload-format

消息负载格式为 cborjson

CreateCertificateFromCsr 响应有效载荷

{ "certificateOwnershipToken": "string", "certificateId": "string", "certificatePem": "string" }
certificateOwnershipToken

在预调配期间证明证书所有权的令牌。

certificateId

证书的 ID。证书管理操作仅接受 certificateId。

certificatePem

PEM 格式的证书数据。

CreateCertificateFromCsr 错误

要接收错误响应,请订阅 $aws/certificates/create-from-csr/payload-format/rejected

payload-format

消息负载格式为 cborjson

CreateCertificateFromCsr 错误有效载荷

{ "statusCode": int, "errorCode": "string", "errorMessage": "string" }
statusCode

状态代码。

errorCode

错误代码。

errorMessage

错误消息。

CreateKeysAndCertificate

创建新密钥和证书。 Amazon IoT 提供由 Amazon 根证书颁发机构 (CA) 签署的客户证书。新证书的状态为 PENDING_ACTIVATION。当您调用 RegisterThing 使用此证书预调配事物时,证书状态将如模板中所述,更改为 ACTIVEINACTIVE

注意

为了安全起见,CreateKeysAndCertificate 返回的 certificateOwnershipToken 会在一小时后过期。必须在 certificateOwnershipToken 过期前调用 RegisterThing。如果在令牌到期时,由创建的证书CreateKeysAndCertificate尚未激活并附加到策略或事物,则该证书将被删除。如果令牌过期,设备可以调用 CreateKeysAndCertificate 以生成新证书。

CreateKeysAndCertificate请求

$aws/certificates/create/payload-format 上发布带有空消息负载的消息。

payload-format

消息负载格式为 cborjson

CreateKeysAndCertificate 响应

订阅 $aws/certificates/create/payload-format/accepted

payload-format

消息负载格式为 cborjson

CreateKeysAndCertificate 响应

{ "certificateId": "string", "certificatePem": "string", "privateKey": "string", "certificateOwnershipToken": "string" }
certificateId

证书 ID。

certificatePem

PEM 格式的证书数据。

privateKey

私有密钥。

certificateOwnershipToken

在预调配期间证明证书所有权的令牌。

CreateKeysAndCertificate 错误

要接收错误响应,请订阅 $aws/certificates/create/payload-format/rejected

payload-format

消息负载格式为 cborjson

CreateKeysAndCertificate错误有效载荷

{ "statusCode": int, "errorCode": "string", "errorMessage": "string" }
statusCode

状态代码。

errorCode

错误代码。

errorMessage

错误消息。

RegisterThing

使用预定义的模板预调配事物。

RegisterThing 请求

$aws/provisioning-templates/templateName/provision/payload-format 上发布消息。

payload-format

消息负载格式为 cborjson

templateName

预调配模板名称。

RegisterThing 请求有效载荷

{ "certificateOwnershipToken": "string", "parameters": { "string": "string", ... } }
certificateOwnershipToken

用于证明证书所有权的令牌。 Amazon IoT 当您通过 MQTT 创建证书时生成令牌。

parameters

可选。来自设备的键/值对由预先预调配挂钩用于评估注册请求。

RegisterThing 响应

订阅 $aws/provisioning-templates/templateName/provision/payload-format/accepted

payload-format

消息负载格式为 cborjson

templateName

预调配模板名称。

RegisterThing 响应有效载荷

{ "deviceConfiguration": { "string": "string", ... }, "thingName": "string" }
deviceConfiguration

在模板中定义的设备配置。

thingName

预调配期间创建的 IoT 事物的名称。

RegisterThing 错误响应

要接收错误响应,请订阅 $aws/provisioning-templates/templateName/provision/payload-format/rejected

payload-format

消息负载格式为 cborjson

templateName

预调配模板名称。

RegisterThing 错误响应有效负载

{ "statusCode": int, "errorCode": "string", "errorMessage": "string" }
statusCode

状态代码。

errorCode

错误代码。

errorMessage

错误消息。