このトピックでは、Message Queue for MQTT のすべて API リクエストとレスポンスに共通のパラメーターについて説明します。
共通リクエストパラメーター
| パラメーター | タイプ | 必須 | 説明 |
| Format | String | いいえ | レスポンス形式。有効な値: JSON および XML。デフォルト値: JSON。 |
| Version | String | はい | API のバージョン番号。 YYYY-MM-DD 形式でバージョン番号を指定します。有効な値: 2020-04-20 |
| AccessKeyId | String | はい | Message Queue for MQTT へのアクセスに使用する AccessKey ID。 |
| 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=NwDAxvLU6tFE0DVb
&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", /*返されたデータ*/ }
- XML 形式
エラーレスポンスの例
操作の呼び出し時にエラーが発生した場合、エラーコード、エラーメッセージ、およびリクエスト ID で構成されるエラーレスポンスが返されます。エラーレスポンスでは、HTTP ステータスコードは 4xx または 5xx です。エラーコードに基づいてエラーをトラブルシューティングできます。詳細については、エラーコード をご参照ください。エラーコードに基づいてエラーをトラブルシューティングできない場合は、ApsaraMQ for MQTT のテクニカルサポートに連絡してください。
- XML 形式
<?xml version="1.0" encoding="UTF-8"?><!--レスポンスのルートノード--> <Error> <RequestId>540CFF28-407A-40B5-B6A5-74Bxxxxxxxxx</RequestId> <!--リクエスト ID--> <Code>MissingParameter.CommandId</Code> <!--エラーコード--> <Message>このリクエストの処理に必須の入力パラメーター "CommandId" が指定されていません。</Message> <!--エラーメッセージ--> </Error> - JSON 形式
- XML 形式