このトピックでは、Message Queue for MQTT のすべて API リクエストとレスポンスに共通のパラメーターについて説明します。
共通リクエストパラメーター
表 1. 共通リクエストパラメーターの表
パラメーター | タイプ | 必須 | 説明 |
Format | String | いいえ | レスポンス形式。有効な値:
|
Version | String | はい | API のバージョン番号。バージョン番号は YYYY-MM-DD 形式で指定します。有効な値: 2020-04-20 |
AccessKeyId | String | はい | Alibaba Cloud アカウントの AccessKey ID。 AccessKey ID の取得方法については、AccessKey ペアの取得を参照してください。 |
Signature | String | はい | 現在のリクエストの署名文字列。署名の計算方法については、署名方式を参照してください。 |
SignatureMethod | String | はい | 署名文字列の暗号化方式。値を HMAC-SHA1 に設定します。 |
Timestamp | String | はい | リクエストのタイムスタンプ。ISO 8601 標準の YYYY-MM-DDThh:mm:ssZ 形式で時間を指定します。時間は UTC でなければなりません。 たとえば、2013 年 1 月 10 日 20:00:00(UTC+8)を指定するには、2013-01-10T12:00:00Z を使用します。 |
SignatureVersion | String | はい | 署名暗号化アルゴリズムのバージョン。値を 1.0 に設定します。 |
SignatureNonce | String | はい | リプレイ攻撃を防ぐために使用される一意の乱数。 リクエストごとに一意の乱数を使用する必要があります。 |
ResourceOwnerAccount | String | いいえ | アクセスするリソースが属する Alibaba Cloud アカウント。 |
リクエストの例
http://onsmqtt.[regionId].aliyuncs.com/?Action=[ApiName]
&TimeStamp=2020-05-19T10%3A33%3A56Z
&Format=xml
&AccessKeyId=testid
&SignatureMethod=Hmac-SHA1
&SignatureNonce=NwDAxvLU6tFE****
&Version=2020-04-20
&SignatureVersion=1.0
&Signature=[Signature]共通レスポンスパラメーター
API レスポンスは HTTP レスポンス形式を使用します。レスポンスは JSON または XML 形式で返されます。リクエストでレスポンス形式を指定できます。デフォルトのレスポンス形式は XML です。すべてのレスポンスは、呼び出しが成功したかどうかにかかわらず、一意の RequestId を返します。
2xxHTTP ステータスコードは、呼び出しが成功したことを示します。4xxまたは5xxHTTP ステータスコードは、呼び出しが失敗したことを示します。
成功レスポンスの例
各レスポンスは、成功した呼び出しに対してレスポンスパラメーターとリクエスト ID を返します。成功レスポンスでは、HTTP ステータスコードは 2xx です。
XML 形式
<?xml version="1.0" encoding="utf-8"?> <!--レスポンスのルートノード--> <Operation name+Response> <!--返されたリクエストタグ--> <RequestId>4C467B38-3910-447D-87BC-AC049166F216</RequestId> <!--返されたデータ--> </Operation name+Response>JSON 形式
{ "RequestId":"4C467B38-3910-447D-87BC-AC049166F216", /*返されたデータ*/ }
エラーレスポンスの例
操作の呼び出し時にエラーが発生した場合、エラーコード、エラーメッセージ、およびリクエスト ID で構成されるエラーレスポンスが返されます。エラーレスポンスでは、HTTP ステータスコードは 4xx または 5xx です。エラーコードに基づいてエラーをトラブルシューティングできます。詳細については、エラーコードをご参照ください。エラーコードに基づいてエラーをトラブルシューティングできない場合は、ApsaraMQ for MQTT のテクニカルサポートに連絡してください。
XML 形式
<?xml version="1.0" encoding="UTF-8"?><!--Root node of the response--> <Error> <RequestId>540CFF28-407A-40B5-B6A5-74Bxxxxxxxxx</RequestId> <!--Request ID--> <Code>MissingParameter.CommandId</Code> <!--Error code--> <Message>The input parameter "CommandId" that is mandatory for processing this request is not supplied.</Message> <!--Error message--> </Error>JSON 形式
{ "RequestId": "540CFF28-407A-40B5-B6A5-74Bxxxxxxxxx", /* Request ID */ "Code": "MissingParameter.CommandId", /* Error code */ "Message": "The input parameter "CommandId" that is mandatory for processing this request is not supplied." /* Error message */ }