All Products
Search
Document Center

ApsaraMQ for MQTT:RegisterDeviceCredential

Last Updated:Mar 25, 2024

Registers an access credential for a device. In unique-certificate-per-device authentication mode, an application server applies a unique access credential for each device from the corresponding ApsaraMQ for MQTT broker. The access credential of a device consists of the client ID, AccessKey ID, and AccessKey secret of the device. When you connect a device to ApsaraMQ for MQTT, you must configure Username and Password based on the access credential of the device for authentication. You can activate the device and transfer data between the device and ApsaraMQ for MQTT only after the authentication is passed.

Operation description

  • You can call this operation up to 500 times per second per account. If the limit is exceeded, throttling is triggered. This may affect your business. We recommend that you take note of this limit when you call this operation. For more information, see Limits on QPS.
  • Each successful call to the RegisterDeviceCredential operation increases the messaging transactions per second (TPS) by one. This affects the billing of your instance. For more information, see Billing rules.

Debugging

OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer.

Authorization information

There is currently no authorization information disclosed in the API.

Request parameters

ParameterTypeRequiredDescriptionExample
ClientIdstringYes

The client ID of the device for which you want to create an access credential.

GID_test@@@test
InstanceIdstringYes

The ID of the ApsaraMQ for MQTT instance. The ID must be consistent with the ID of the instance that the ApsaraMQ for MQTT client uses. You can obtain the instance ID on the Instance Details page that corresponds to the instance in the ApsaraMQ for MQTT console.

post-cn-0pp12gl****
Note For information about other parameters, see Common parameters and Endpoints .

Response parameters

ParameterTypeDescriptionExample
object
RequestIdstring

The request ID. This parameter is a common parameter.

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

The access credential of the device.

UpdateTimelong

The timestamp that indicates when the access credential of the device was last updated. Unit: milliseconds.

1605541382000
DeviceAccessKeyIdstring

The AccessKey ID of the device.

DC.Z5fXh9sRRVufyLi6wo****
CreateTimelong

The timestamp that indicates when the access credential of the device was created. Unit: milliseconds.

1605541382000
InstanceIdstring

The ID of the ApsaraMQ for MQTT instance.

post-cn-0pp12gl****
DeviceAccessKeySecretstring

The AccessKey secret of the device.

DC.BJMkn4eMQJK2vaApTS****
ClientIdstring

The client ID of the device.

GID_test@@@test

Examples

Sample success responses

JSONformat

{
  "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"
  }
}

Error codes

HTTP status codeError codeError message
400ApplyTokenOverFlowYou have applied for tokens too many times. Please try again later.
400CheckAccountInfoFailedAn error occurred while checking the account information by the STS token.
400InstancePermissionCheckFailedAn error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings.
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.
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.
500SystemOverFlowAn error occurred while processing your request. Please try again.

For a list of error codes, visit the Service error codes.

Change history

Change timeSummary of changesOperation
2023-04-06The Error code has changedsee changesets
Change itemChange content
Error CodesThe Error code has changed.
    Error Codes 400 change
    delete Error Codes: 404
    delete Error Codes: 500