设备预置 MQTT API - AWS IoT
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

设备预置 MQTT API

队列预置服务支持以下 MQTT API:

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

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

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

如果您未在发布请求之前 订阅响应主题,则无法收到该请求的结果。

CreateCertificateFromCsr

从证书签名请求 (CSR) 创建证书。新证书的状态为 PENDING_ACTIVATION。当您调用 RegisterThing 使用此证书预置事物时,证书状态将如模板中所述,更改为 ACTIVEINACTIVE

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

创建新的密钥和证书。新证书的状态为 PENDING_ACTIVATION。当您调用 RegisterThing 使用此证书预置事物时,证书状态将如模板中所述,更改为 ACTIVEINACTIVE

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

证明证书所有权的令牌。令牌在您通过 MQTT 创建证书时由 AWS IoT 时生成。

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

错误消息。