全部产品
Search
文档中心

云消息队列 MQTT 版:RegisterDeviceCredential - 为某个设备注册访问凭证

更新时间:Sep 26, 2024

一机一密认证方法,即预先为每个设备申请唯一的访问凭证(ClientId、DeviceAccessKeyId和DeviceAccessKeySecret)。当设备与云消息队列 MQTT 版建立连接时,需要将设备访问凭证中的信息按照约定的形式设置到Username和Password中,向云消息队列 MQTT 版发起认证请求,云消息队列 MQTT 版认证通过后激活设备,设备与云消息队列 MQTT 版间才可传输数据。 本接口用于为指定设备申请访问凭证。

接口说明

  • 一个设备只能申请一个访问凭证,若调用本接口申请多次,以最近一次返回的访问凭证为准。
  • 本接口的单用户 QPS 限制为 500 次/秒。超过限制,API 调用会被限流,这可能会影响您的业务,请合理调用。更多信息,请参见 QPS 限制
  • 每成功调用一次 RegisterDeviceCredential 接口,都会计算为一次消息 TPS,从而影响您的计费。详细信息,请参见计费说明

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

当前API暂无授权信息透出。

请求参数

名称类型必填描述示例值
ClientIdstring

需要注册访问凭证的设备的 Client ID。

GID_test@@@test
InstanceIdstring

云消息队列 MQTT 版实例的 ID,一定要和客户端实际使用的实例 ID 匹配。您可以在控制台实例详情页面获取该 ID。

post-cn-0pp12gl****
说明 更多参数说明请参见公共参数服务接入点

返回参数

名称类型描述示例值
object
RequestIdstring

公共参数,每个请求的 ID 都是唯一的。

E4581CCF-62AF-44D9-B5B4-D1DBDC0E****
DeviceCredentialobject

设备的访问凭证信息。

UpdateTimelong

设备访问凭证上一次更新的毫秒时间戳。

1605541382000
DeviceAccessKeyIdstring

设备的 AccessKey ID。

DC.Z5fXh9sRRVufyLi6wo****
CreateTimelong

设备访问凭证创建的毫秒时间戳。

1605541382000
InstanceIdstring

云消息队列 MQTT 版实例的 ID。

post-cn-0pp12gl****
DeviceAccessKeySecretstring

设备的 AccessKey Secret。

DC.BJMkn4eMQJK2vaApTS****
ClientIdstring

设备的 Client ID。

GID_test@@@test

示例

正常返回示例

JSON格式

{
  "RequestId": "E4581CCF-62AF-44D9-B5B4-D1DBDC0E****",
  "DeviceCredential": {
    "UpdateTime": 1605541382000,
    "DeviceAccessKeyId": "DC.Z5fXh9sRRVufyLi6wo****",
    "CreateTime": 1605541382000,
    "InstanceId": "post-cn-0pp12gl****",
    "DeviceAccessKeySecret": "DC.BJMkn4eMQJK2vaApTS****",
    "ClientId": "GID_test@@@test"
  }
}

错误码

HTTP status code错误码错误信息描述
400ApplyTokenOverFlowYou have applied for tokens too many times. Please try again later.申请Token频率过高,系统限流,请重试。
400CheckAccountInfoFailedAn error occurred while checking the account information by the STS token.解析STS Token账号信息失败。
400InstancePermissionCheckFailedAn error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.实例权限校验失败,请确认MQTT实例的所属关系以及授权策略。
400ParameterCheckFailedAn error occurred while validating the parameters. The parameters may be missing or invalid.参数校验失败,可能缺失或者传入值非法。
400PermissionCheckFailedAn error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings.资源权限校验失败,请检查实例、Topic和Group ID的所属权限和授权策略。
400InvalidParameter.%sAn error occurred while validating the parameter. The parameter may be missing or invalid.参数校验失败,可能缺失或者传入值非法。
400DeviceCredentialNumExceedThe number of device credentia exceeds the limit. Please revoke unused device certificates-
400DeviceCredentialExsitDevice Credential Exsit-
400DeviceCredentialNotFoundDevice Credential Not Found. Check if the device certificate is registered-
404ApiNotSupportThe specified API is not supported.当前接口不支持,请检查。
500InternalErrorAn error occurred while processing your request. Try again later.MQTT后端服务异常,请重试。
500SystemOverFlowAn error occurred while processing your request. Please try again.系统限流,请重试。

访问错误中心查看更多错误码。

变更历史

变更时间变更内容概要操作
2023-04-06OpenAPI 错误码发生变更查看变更详情