本产品(
微消息队列 MQTT/2020-04-20
)的OpenAPI采用RPC签名风格,签名细节参见签名机制说明。我们已经为开发者封装了常见编程语言的SDK,开发者可通过下载SDK直接调用本产品OpenAPI而无需关心技术细节。如果现有SDK不能满足使用需求,可通过签名机制进行自签名对接。由于自签名细节非常复杂,需花费 5个工作日左右。因此建议加入我们的服务钉钉群(78410016550),在专家指导下进行签名对接。在使用API前,您需要准备好身份账号及访问密钥(AccessKey),才能有效通过客户端工具(SDK、CLI等)访问API。细节请参见获取AccessKey。
Token
API | 标题 | API概述 |
---|---|---|
ApplyToken | 创建临时访问 Token | Token鉴权方式下,云消息队列 MQTT 版服务端会颁发Token(临时凭证)给客户端,客户端访问云消息队列 MQTT 版服务端时需要携带Token用于权限验证。 本接口用于向云消息队列 MQTT 版申请临时Token。 |
QueryToken | 校验Token的有效性 | Token鉴权方式下,云消息队列 MQTT 版服务端会颁发Token(临时凭证)给客户端,客户端访问云消息队列 MQTT 版服务端时需要携带Token用于权限验证。 Token为临时访问凭证具有一定的时效性,您可以通过本接口查询Token是否失效。 |
RevokeToken | 吊销 Token | 调用RevokeToken接口吊销Token。 |
Group ID
API | 标题 | API概述 |
---|---|---|
CreateGroupId | 创建 Group ID | 消息生产者和消费者客户端接入云消息队列 MQTT 版服务端收发消息时,需要指定Client ID,用于唯一标识一个客户端。 Client ID由两部分组成,组织形式为<GroupID>@@@<DeviceID>,DeviceID由客户端自定义,GroupID需要提前在云消息队列 MQTT 版服务端创建。 |
DeleteGroupId | 删除 Group ID | 调用DeleteGroupId删除Group ID。 |
ListGroupId | 查看某实例下的所有 Group ID | 调用ListGroupId查看某实例下的所有Group ID。 |
消息
API | 标题 | API概述 |
---|---|---|
SendMessage | 向云消息队列 MQTT 版发送单条消息 | 从服务端应用向云消息队列 MQTT 版发送单条消息。 |
客户端
API | 标题 | API概述 |
---|---|---|
QuerySessionByClientId | 查询客户端在线状态 | **QuerySessionByClientId**接口一般用于线上追踪单个设备的运行状态,再根据查询到的信息排查问题。输入Client ID即可查到对应设备是否在线、设备地址等信息。 |
BatchQuerySessionByClientIds | 批量查询客户端在线状态 | 根据 Client ID 批量查询客户端在线状态。 |
CloseConnection | 关闭在线连接 | 主动关闭在线连接,不过设备仍然可能会重连,取决于客户端重连机制。 |
一机一密
API | 标题 | API概述 |
---|---|---|
GetDeviceCredential | 查询设备的访问凭证 | 一机一密认证方式下,设备与云消息队列 MQTT 版建立连接时,需要携带提前申请的设备访问凭证信息向云消息队列 MQTT 版发起认证请求,请求通过则允许设备接入服务端。本接口用于查询指定设备的访问凭证。 |
RefreshDeviceCredential | 更新设备的访问凭证 | 调用RefreshDeviceCredential更新设备的访问凭证。 |
RegisterDeviceCredential | 为某个设备注册访问凭证 | 一机一密认证方法,即预先为每个设备申请唯一的访问凭证(ClientId、DeviceAccessKeyId和DeviceAccessKeySecret)。当设备与云消息队列 MQTT 版建立连接时,需要将设备访问凭证中的信息按照约定的形式设置到Username和Password中,向云消息队列 MQTT 版发起认证请求,云消息队列 MQTT 版认证通过后激活设备,设备与云消息队列 MQTT 版间才可传输数据。 本接口用于为指定设备申请访问凭证。 |
UnRegisterDeviceCredential | 注销设备的访问凭证 | 一机一密认证方法,即预先为每个设备申请唯一的访问凭证(ClientId、DeviceAccessKeyId和DeviceAccessKeySecret)。当设备与云消息队列 MQTT 版建立连接时,需要将设备访问凭证中的信息按照约定的形式设置到Username和Password中,向云消息队列 MQTT 版发起认证请求,云消息队列 MQTT 版认证通过后激活设备,设备与云消息队列 MQTT 版间才可传输数据。 若您不需要再使用某个设备访问凭证,您可以调用本接口注销指定的设备访问凭证。 |
ListDeviceCredentialClientId | 查询已注册访问凭证的设备列表 | 用于查询指定实例下有哪些设备申请了设备访问凭证(一机一密)。 |
轨迹
API | 标题 | API概述 |
---|---|---|
QueryMqttTraceDevice | 查询设备轨迹 | 分页查询微消息队列MQTT版客户端的设备轨迹。当设备的状态出现异常时,您可以通过该接口查询指定设备的连接历史,帮助您快速定位异常原因。 |
QueryMqttTraceMessageOfClient | 查询消息轨迹 | 查询指定设备在一定时间段内的消息列表。当消息的收发不符合预期时,您可以通过该接口查看消息的收发状态等轨迹信息,帮助您快速定位异常原因。 |
QueryMqttTraceMessagePublish | 查询消息发送轨迹 | 查询指定消息的发送轨迹。当消息的收发不符合预期时,您可以通过该接口查看消息的发布时间、发布客户端等详细信息,帮助您快速定位异常原因。 |
QueryMqttTraceMessageSubscribe | 查询消息消费轨迹 | 查询指定消息的投递轨迹。当消息的收发不符合预期时,您可以通过该接口查看订阅该消息的客户端、消息的投递时间等详细信息,帮助您快速定位异常原因。 |
CA证书
API | 标题 | API概述 |
---|---|---|
RegisterCaCertificate | 注册CA证书 | 云消息队列 MQTT 版支持X.509证书认证,客户端可通过设备证书完成接入认证。CA证书用于为客户端签发设备证书,并验证设备证书的正确性,您需要先将申请的CA证书注册到云消息队列 MQTT 版的服务端上,才能用于认证设备证书。本接口用于将指定CA证书注册到云消息队列 MQTT 版服务端。 |
ActiveCaCertificate | 激活CA证书 | 云消息队列 MQTT 版支持X.509证书认证,客户端可通过设备证书完成接入认证。CA证书用于为客户端签发设备证书,并验证设备证书的正确性,需要在激活状态下使用。 CA证书注册后默认为激活状态,若您需要使用的CA证书被修改为未激活状态,您可以调用本接口将CA证书重新激活。 |
InactivateCaCertificate | 注销CA证书 | 微消息队列MQTT版支持X.509证书认证,客户端可通过设备证书完成接入认证。CA证书用于为客户端签发设备证书,并验证设备证书的正确性。 若您暂时不需要使用某个CA证书,可通过本接口注销CA证书,将CA证书状态变成未激活。当您需要继续使用该CA证书时,可通过ActiveCaCertificate接口将CA证书重新激活。 |
ListCaCertificate | 查询CA证书列表 | 云消息队列 MQTT 版支持X.509证书认证,客户端可通过设备证书完成接入认证。CA证书用于为客户端签发设备证书,并验证设备证书的正确性。 本接口用于查询指定实例下所有注册的CA证书。 |
GetCaCertificate | 获取CA证书详情 | 云消息队列 MQTT 版支持X.509证书认证,客户端可通过设备证书完成接入认证。CA证书用于为客户端签发设备证书,并验证设备证书的正确性。 您可以调用本接口查询指定CA证书的证书内容以及激活状态等详细信息。 |
GetRegisterCode | 获取CA证书注册码 | 注册CA证书到云消息队列 MQTT 版服务端时,需要上传CA证书的验证证</span>书,用于验证用户是否有该CA证书的私钥。CA证书的验证证书需要通过CA证书的注册码生成,本接口用于获取指定CA证书的注册码。 |
DeleteCaCertificate | 删除CA证书 | 云消息队列 MQTT 版支持X.509证书认证,客户端可通过设备证书完成接入认证。CA证书用于为客户端签发设备证书,并验证设备证书的正确性。 使用CA证书需要先将证书注册到云消息队列 MQTT 版服务端,若您不再需要使用某个CA证书,您可以调用DeleteCaCertificate接口将该证书从服务端记录中删除。 |
设备证书
API | 标题 | API概述 |
---|---|---|
ActiveDeviceCertificate | 激活设备证书 | 设备证书是由CA根证书签发给客户端设备使用的数字证书,用于客户端和服务端连接时,服务端对客户端进行安全认证。 客户端设备使用设备证书进行接入认证时,服务端会根据已注册的CA证书验证设备证书是否正确,若CA证书和设备证书匹配成功,则客户端认证通过,且系统会将该设备证书自动注册到服务端中。 设备证书在服务端注册后默认为激活状态,若您需要使用的设备证书被修改为未激活状态,您可以调用本接口将设备证书重新激活。 |
InactivateDeviceCertificate | 注销设备证书 | 设备证书是由CA根证书签发给客户端设备使用的数字证书,用于客户端和服务端连接时,服务端对客户端进行安全认证。认证通过后服务端和客户端可基于证书内的加密密钥进行安全通信,若认证不通过则服务端拒绝客户端接入。 若您暂时不需要使用某个设备证书,可通过该接口注销设备证书,将设备证书状态变成未激活。 |
ListDeviceCertificate | 查询设备证书列表 | 设备证书是由CA根证书签发给客户端设备使用的数字证书,用于客户端和服务端连接时,服务端对客户端进行安全认证。认证通过后服务端和客户端可基于证书内的加密密钥进行安全通信,若认证不通过则服务端拒绝客户端接入。 本接口用于查询指定实例下所有注册的设备证书。 |
ListDeviceCertificateByCaSn | 查询CA证书下设备证书 | 设备证书是由CA根证书签发给客户端设备使用的数字证书,用于客户端和服务端连接时,服务端对客户端进行安全认证。认证通过后服务端和客户端可基于证书内的加密密钥进行安全通信,若认证不通过则服务端拒绝客户端接入。 本接口用于查询由指定CA证书签发且已在微消息队列MQTT版服务端注册的所有设备证书。 |
GetDeviceCertificate | 获取设备证书详情 | 设备证书是由CA根证书签发给客户端设备使用的数字证书,用于客户端和服务端连接时,服务端对客户端进行安全认证。认证通过后服务端和客户端可基于证书内的加密密钥进行安全通信,若认证不通过则服务端拒绝客户端接入。 您可以调用本接口获取设备证书的详细信息。 |
DeleteDeviceCertificate | 删除设备证书 | 设备证书是由CA根证书签发给客户端设备使用的数字证书,用于客户端和服务端连接时,服务端对客户端进行安全认证。认证通过后服务端和客户端可基于证书内的加密密钥进行安全通信,若认证不通过则服务端拒绝客户端接入。 若您不想需要使用某个设备证书,您可以调用本接口将指定设备证书的注册信息从服务端的存储记录中删除。 |
自定义权限
API | 标题 | API概述 |
---|---|---|
AddCustomAuthIdentity | 添加身份认证 | 添加账号身份认证信息,可以具体到客户端。 |
UpdateCustomAuthIdentity | 更新身份认证 | 更新自定义身份认证。 |
QueryCustomAuthIdentity | 查询身份认证 | 查询自定义身份认证。 |
DeleteCustomAuthIdentity | 删除身份认证 | 删除自定义身份认证。 |
AddCustomAuthPermission | 添加Topic授权 | 添加Topic资源授权信息,且需要在控制台提前创建一级Topic。 |
UpdateCustomAuthPermission | 更新Topic授权 | 更新Topic资源授权信息。 |
QueryCustomAuthPermission | 查询Topic授权 | 查询Topic授权信息。 |
DeleteCustomAuthPermission | 删除Topic授权 | 删除Topic授权。 |
AddCustomAuthConnectBlack | 添加连接黑名单 | 添加连接黑名单,禁用某个设备连接。 |
DeleteCustomAuthConnectBlack | 删除连接黑名单 | 删除连接黑名单。 |
QueryCustomAuthConnectBlack | 查询连接黑名单 | 查询连接黑名单。 |