SendMessage
説明
このインターフェイスは、指定されたメッセージキューにメッセージを送信するために使用します。デフォルトでは、送信されたメッセージは直ちにコンシューマーが取得できます。スケジュール済みタスクなど、メッセージが直ちに取得されないことが予想される場合、メッセージの送信時に DelaySeconds パラメーターがプロデューサーによって追加されることが考えられます。DelaySeconds 値が正の値であるメッセージのステータスは、Delayed になります。このようなメッセージは、DelaySeconds が経過して Active ステータスになるまで、どのコンシューマーも取得できません。
ヒント:
メッセージの送信時に指定された DelaySeconds は、メッセージの DelaySeconds 属性よりも優先されます。つまり、この 2 つの DelaySeconds 値が異なる場合は、メッセージで指定された DelaySeconds が優先されます。
リクエスト
リクエストには、主に次の項目があります。
リクエスト行
POST /$queueName/messages HTTP/1.1
特別なリクエストヘッダー
なし。「パブリックリクエストヘッダー」を参照してください。
リクエスト本文
リクエスト本文は、XML 形式です。XML には、作成されるメッセージの属性が含まれています。
パラメーター名 | 説明 | パラメーター値 |
---|---|---|
MessageBody | 必須。メッセージ本文。 | UTF-8 文字セット。 |
DelaySeconds | 任意。メッセージを取得できるようになるまでの遅延時間 (秒)。 | 0 から 604800 秒 (7 日間) までの整数。デフォルト値は 0。 |
Priority | 任意。指定されたメッセージの優先順位。優先順位の高いメッセージほど、先に取得される確率が高まります。 | 値の範囲は 1 から 16 (値 1 が最も高い優先順位)。デフォルト値は 8。 |
応答
返されるメッセージには、戻りステータス行、HTTP ヘッダー、メッセージ本文の 3 つがあります。
HTTP ステータスコード
HTTP/1.1 201 Created
特別な応答ヘッダー
なし。「パブリックリターンヘッダー」を参照してください。
応答本文
結果は XML 形式で返されます。メッセージの下位要素である MessageId と MessageBodyMD5 が返されます。
パラメーター名 | 説明 |
---|---|
MessageId | メッセージ ID、各キューの中で一意。 |
MessageBodyMD5 | メッセージ本文の MD5 値。 |
特殊なエラー
エラーコード | エラーメッセージ | ステータスコード |
---|---|---|
QueueNotExist | 指定された名前のキューは存在しません。 | 404 |
MalformedXML | 指定された XML の形式が誤っています。 | 400 |
InvalidArgument | Element の値は、MIN と MAX の間の秒数またはバイト数にする必要があります。 | 400 |
リクエストの例:
POST /queues/$queueName/messages HTTP/1.1
Host: $AccountId.mns.cn-hangzhou.aliyuncs.com
Date: Wed, 18 Mar 2012 12:00:00 GMT
Content-Length:500
Content-Type:text/xml;charset=utf-8
x-mns-version: 2015-06-06
Authorization: MNS 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXAMPLE
<?xml version="1.0” encoding=”UTF-8” ?>
<Message xmlns=”http://mns.aliyuncs.com/doc/v1/”>
<MessageBody>Base64 Encoded Result</MessageBody>
<DelaySeconds>60</DelaySeconds>
<Priority>1</Priority>
</Message>
戻り値ヘッダーの例:
HTTP/1.1 201Created
Connnection:close
Content-Length:120
Content-Type:text/xml;charset=utf-8
x-mqs-request-id:512B2A634403E52B1956133E
x-mqs-version:2015-06-06
<?xml version="1.0" encoding="UTF-8" ?>
<Message xmlns="http://mqs.aliyuncs.com/doc/v1/">
<MessageId>
5F290C926D472878-2-14D9529A8FA-200000001
</MessageId>
<MessageBodyMD5>
C5DD56A39F5F7BB8B3337C6D11B6D8C7
</MessageBodyMD5>
</Message>
BatchSendMessage
説明
このインタフェースは、指定されたメッセージキューにバッチでメッセージを送信するために使用されます。 1つのBatchSendMessage操作で最大16のメッセージを送信できます。
一般的なメッセージは、メッセージキューに送信された直後にコンシューマーが消費することができます。 プロデューサーは、後で消費するようにメッセージを送信するときにDelaySecondsパラメータを設定できます(一般的なシナリオはスケジュールされたタスクです)。 DelaySeconds値(> 0)を持つメッセージの初期ステータスは Delayed です。この状態では、DelaySeconds時間が経過した後、メッセージのステータスが Active に変わるまでメッセージを使用することができません。
ヒント:
メッセージの送信時に指定された DelaySeconds は、メッセージの DelaySeconds 属性よりも優先されます。つまり、この 2 つの DelaySeconds 値が異なる場合は、メッセージで指定された DelaySeconds が優先されます。
リクエスト
リクエストには、主に次の部分が含まれます。
リクエスト行
POST /queues/$queueName/messages HTTP/1.1
特別なリクエストヘッダー
なし。「パブリックリクエストヘッダー」を参照してください。
リクエスト本文
リクエスト本文は、XML 形式です。XML には、作成されるメッセージの属性が含まれています。
パラメーター名 | 説明 | パラメーター値 |
---|---|---|
MessageBody | 必須。メッセージ本文。 | UTF-8 文字セット。 |
DelaySeconds | 任意。メッセージを取得できるようになるまでの遅延時間 | 0 から 604800 秒 (7 日間) までの整数。デフォルト値は 0。 |
Priority | 任意。指定されたメッセージの優先順位。優先順位の高いメッセージほど、先に取得される確率が高まります。 | 値の範囲は 1 から 16 (値 1 が最も高い優先順位)。デフォルト値は 8。 |
Response
返されるメッセージには、戻りステータス行、HTTP ヘッダー、メッセージ本文の 3 つがあります。
HTTP ステータスコード
HTTP/1.1 201 Created
特別な応答ヘッダー
なし。「パブリックリターンヘッダー」を参照してください。
応答本文
結果は XML 形式で返されます。メッセージの下位要素である MessageId と MessageBodyMD5 が返されます。
パラメーター名 | 説明 |
---|---|
MessageId | メッセージ ID、各キューの中で一意。 |
MessageBodyMD5 | メッセージ本文の MD5 値。 |
特殊なエラー
エラーコード | エラーメッセージ | ステータスコード |
---|---|---|
QueueNotExist | 指定された名前のキューは存在しません。 | 404 |
MalformedXML | 指定された XML の形式が誤っています。 | 400 |
InvalidArgument | Element の値は、MIN と MAX の間の秒数またはバイト数にする必要があります。 | 400 |
リクエストの例:
POST /queues/$queueName/messages HTTP/1.1
Host: $AccountId.mns.cn-hangzhou.aliyuncs.com
Date: Wed, 18 Mar 2012 12:00:00 GMT
Content-Length:500
Content-Type:text/xml;charset=utf-8
x-mns-version: 2015-06-06
Authorization: MNS 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXAMPLE
<?xml version="1.0” encoding=”UTF-8” ?>
<Messages xmlns=”http://mns.aliyuncs.com/doc/v1/”>
<Message>
<MessageBody>Message1 Base64 Encoded Result</MessageBody>
<DelaySeconds>60</DelaySeconds>
<Priority>1</Priority>
</Message>
<Message>
<MessageBody>Message2 Base64 Encoded Result</MessageBody>
<DelaySeconds>60</DelaySeconds>
<Priority>1</Priority>
</Message>
</Messages>
戻り値ヘッダーの例:
HTTP/1.1 201Created
Connnection:close
Content-Length:120
Content-Type:text/xml;charset=utf-8
x-mns-request-id:512B2A634403E52B1956133E
x-mns-version: 2015-06-06
<?xml version="1.0” encoding=”UTF-8” ?>
<Messages xmlns=”http://mns.aliyuncs.com/doc/v1/”>
<Message>
<MessageId>5F290C926D472878-2-14D9529A8FA-200000001</MessageId>
<MessageBodyMD5>C5DD56A39F5F7BB8B3337C6D11B6D8C7</MessageBodyMD5>
</Message>
<Message>
<MessageId>5F290C926D472878-2-14D9529A8FA-200000002</MessageId>
<MessageBodyMD5>377AC5283D8765C9CEE4E0EA353DFC17</MessageBodyMD5>
</Message>
</Messages>
ReceiveMessage
説明
このインターフェイスは、コンシューマーがメッセージキュー内のメッセージを取得するために使用するものです。この ReceiveMessage 操作により、取得されたメッセージは [Inactive] ステータスに変わります。Inactive 期間は、キューの VisibilityTimeout 属性によって決まります (詳細については、CreateQueue インターフェイス を参照してください)。
メッセージが正常にコンシューマーによって取得されたら、VisibilityTimeout の間に DeleteMessage インターフェイスを呼び出してメッセージを削除する必要があります。削除しない場合、メッセージは [Active] ステータスに戻り、再びコンシューマーによって取得されます。
リクエスト
リクエストには、主に次の項目があります。
リクエスト行
GET /$queueName/messages?waitseconds=10 HTTP/1.1
特別な URI パラメーター
パラメーター名 | 説明 | 必須かどうか |
---|---|---|
waitseconds | ReceiveMessage リクエストのポーリング最大待ち時間①(秒) | 任意 |
注意:ReceiveMessage リクエストで waitseconds パラメーターが指定されている場合、その ReceiveMessage リクエストのポーリング待ち時間は waitseconds によって指定されます。waitseconds パラメーターが指定されていない場合、ポーリング待ち時間はキューの PollingWaitSeconds 属性によって指定されます (CreateQueue インターフェイス を参照してください)。
特別なリクエストヘッダー
なし。「パブリックリクエストヘッダー」を参照してください。
リクエスト本文
なし。
応答
返されるメッセージには、戻りステータス行、HTTP ヘッダー、メッセージ本文の 3 つがあります。
HTTP ステータスコード
HTTP/1.1 200 OK
特別な応答ヘッダー
なし。パブリックリターンヘッダー を参照してください。
応答本文
結果は XML 形式で返されます。メッセージのメッセージ本文と属性が返されます。
パラメーター名 | 説明 |
---|---|
MessageId | メッセージ ID、各キューの中で一意 |
ReceiptHandle | 取得したメッセージのために生成された一時的なハンドル。[Inactive] ステータスで、NextVisibleTime になる前の有効なメッセージを削除または変更するために使用します。 |
MessageBody | メッセージ本文 |
MessageBodyMD5 | メッセージ本文の MD5 値 |
EnqueueTime | メッセージがキューに送信された日時を 1970 年 1 月 1 日 0:00 からのミリ秒単位の経過時間で表した値 |
NextVisibleTime | メッセージを再度取得できる日時を 1970 年 1 月 1 日 0:00 からのミリ秒単位の経過時間で表した値 |
FirstDequeueTime | メッセージが最初に取得された日時を 1970 年 1 月 1 日 0:00 からのミリ秒単位の経過時間で表した値 |
DequeueCount | メッセージが取得された合計回数 |
Priority | メッセージの優先順位 |
特殊なエラー
エラーコード | エラーメッセージ | ステータスコード |
---|---|---|
QueueNotExist | 指定された名前のキューは存在しません。 | 404 |
MessageNotExist | メッセージが存在しません。 | 404 |
リクエストの例:
GET /$queueName/messages HTTP/1.1
Host: $AccountId.mqs-cn-hangzhou.aliyuncs.com
Date: Wed, 28 May 2012 22:32:00 GMT
x-mqs-version: 2014-07-08
Authorization: MQS 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXAMPLE
戻り値の例:
HTTP/1.1 200 OK
Connection:close
Content-Type=text/xml;charset=utf-8
Content-Length:500
x-mqs-request-id:512B2A634403E52B1956133E
x-mqs-version:2015-06-06
<?xml version="1.0" encoding="UTF-8" ?>
<Message xmlns="http://mqs.aliyuncs.com/doc/v1/">
<MessageId>5F290C926D472878-2-14D9529A8FA-200000001</MessageId>
<ReceiptHandle>1-ODU4OTkzNDU5My0xNDMyNzI3ODI3LTItOA==</ReceiptHandle>
<MessageBodyMD5>C5DD56A39F5F7BB8B3337C6D11B6D8C7</MessageBodyMD5>
<MessageBody>This is a test message</MessageBody>
<EnqueueTime>1250700979248</EnqueueTime>
<NextVisibleTime>1250700799348</NextVisibleTime>
<FirstDequeueTime>1250700779318</FirstDequeueTime >
<DequeueCount>1</DequeueCount >
<Priority>8</Priority>
</Message>
BatchReceiveMessage
説明
このインタフェースは、コンシューマーがメッセージキュー内のメッセージをバッチで取得するために使用するものです。 1つのBatchReceiveMessage操作で最大16個のメッセージを取得できます。この操作により、取得したメッセージは非アクティブ状態に変わります。 非アクティブ期間は、キューのVisibilityTimeout属性によって決定されます(詳細は、「CreateQueueインターフェース」を参照してください)。
メッセージが正常にコンシューマーによって取得されたら、VisibilityTimeout の間に DeleteMessage インターフェイスを呼び出してメッセージを削除する必要があります。削除しない場合、メッセージは [Active] ステータスに戻り、再びコンシューマーによって取得されます。
リクエスト
リクエストには、主に次の項目があります:
リクエスト行
GET /queues/$queueName/messages?numOfMessages=16&waitseconds=10 HTTP/1.1
特別な URI パラメーター
パラメーター名 | 説明 | 必須かどうか |
---|---|---|
numOfMessages | 現在のBatchReceiveMessage操作で取得できるメッセージの最大数。 | 必須 |
waitseconds | ReceiveMessage リクエストのポーリング最大待ち時間①(秒) | 任意 |
Note:
BatchReceiveMessageリクエストのポーリング待機時間は、あらかじめ設定された待機時間、または待機時間を事前設定せずにキューのPollingWaitSeconds属性で指定します(CreateQueue インタフェース を参照)。
特別なリクエストヘッダー
なし。パブリックリクエストヘッダー を参照してください。
リクエスト本文
なし。
応答
返されるメッセージには、戻りステータス行、HTTP ヘッダー、メッセージ本文の 3 つがあります。
HTTP ステータスコード
HTTP/1.1 200 OK
特別な応答ヘッダー
なし。パブリックリターンヘッダー を参照してください。
応答本文
結果は XML 形式で返されます。メッセージのメッセージ本文と属性が返されます。
パラメーター名 | 説明 |
---|---|
MessageId | メッセージ ID、各キューの中で一意 |
ReceiptHandle | 取得されたメッセージに対して生成された一時ハンドル。[Inactive] ステータスで、NextVisibleTime になる前の有効なメッセージを削除または変更するために使用します。 |
MessageBody | メッセージ本文 |
MessageBodyMD5 | メッセージ本文の MD5 値 |
EnqueueTime | メッセージがキューに送信された日時を 1970 年 1 月 1 日 0:00 からのミリ秒単位の経過時間で表した値 |
NextVisibleTime | メッセージを再度取得できる日時を 1970 年 1 月 1 日 0:00 からのミリ秒単位の経過時間で表した値 |
FirstDequeueTime | メッセージが最初に取得された日時を 1970 年 1 月 1 日 0:00 からのミリ秒単位の経過時間で表した値 |
DequeueCount | メッセージが取得された合計回数 |
Priority | メッセージの優先順位 |
特殊なエラー
エラーコード | エラーメッセージ | ステータスコード |
---|---|---|
QueueNotExist | 指定された名前のキューは存在しません。 | 404 |
MessageNotExist | メッセージが存在しません。 | 404 |
リクエストの例:
GET /queues/$queueName/messages?numOfMessages=16 HTTP/1.1
Host: $AccountId.mns.cn-hangzhou.aliyuncs.com
Date: Wed, 28 May 2012 22:32:00 GMT
x-mns-version: 2015-06-06
Authorization: MNS 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXAMPLE
戻り値の例:
HTTP/1.1 200 OK
Connection:close
Content-Type=text/xml;charset=utf-8
Content-Length:500
x-mns-request-id:512B2A634403E52B1956133E
x-mns-version: 2015-06-06
<?xml version="1.0” encoding=”UTF-8” ?>
<Messages xmlns=”http://mns.aliyuncs.com/doc/v1/”>
<Message>
<MessageId>5F290C926D472878-2-14D9529A8FA-200000001</MessageId>
<ReceiptHandle>1-ODU4OTkzNDU5My0xNDMyNzI3ODI3LTItOA==</ReceiptHandle>
<MessageBodyMD5>C5DD56A39F5F7BB8B3337C6D11B6D8C7</MessageBodyMD5>
<MessageBody>This is a test message</MessageBody>
<EnqueueTime>1250700979248</EnqueueTime>
<NextVisibleTime>1250700799348</NextVisibleTime>
<FirstDequeueTime>1250700779318</FirstDequeueTime >
<DequeueCount>1</DequeueCount>
<Priority>8</Priority>
</Message>
<Message>
<ReceiptHandle>1-ODU4OTkzNDU5My0xNDMyNzI3MjQwLTEtOA==</ReceiptHandle>
<MessageBodyMD5>C5DD56A39F5F7BB8B3337C6D11B6D8C7</MessageBodyMD5>
<MessageBody>This is a test message</MessageBody>
<EnqueueTime>1250700979252</EnqueueTime>
<NextVisibleTime>1250700799350</NextVisibleTime>
<FirstDequeueTime>1250700779330</FirstDequeueTime >
<DequeueCount>1</DequeueCount>
<Priority>8</Priority>
</Message>
</Messages>
DeleteMessage
説明
このインターフェイスは、取得済みのメッセージを削除するために使用します。削除するメッセージを特定するために、前回の取得で入手した有効な ReceiptHandle が必要です。この削除操作を成功するためには、NextVisibleTime の前に実行する必要があります。NextVisibleTime が過ぎるとメッセージは再び Active になり、ReceiptHandle は無効になって、削除は失敗します。
リクエスト
リクエストには、主に次の項目があります。
リクエスト行
DELETE/$queueName/messages?receiptHandle=<receiptHandle> HTTP/1.1
特別な URI パラメーター
パラメーター名 | 説明 | 必須かどうか |
---|---|---|
ReceiptHandle | 前回の取得で返された ReceiptHandle。詳細については、「ReceiveMessage インターフェイス」を参照してください。 | 必須 |
特別なリクエストヘッダー
なし。「パブリックリクエストヘッダー」を参照してください。
リクエスト本文
なし。
応答
返されるメッセージには、戻りステータス行、HTTP ヘッダー、メッセージ本文の 3 つがあります。
HTTP ステータスコード
HTTP/1.1 204 NoContent
特別な応答ヘッダー
なし。「パブリックリターンヘッダー」を参照してください。
応答本文
なし。
特殊なエラー
エラーコード | エラーメッセージ | ステータスコード |
---|---|---|
QueueNotExist | 指定された名前のキューは存在しません。 | 404 |
InvalidArgument | Element の値は、Low と High の間の秒数またはバイト数にする必要があります。 | 400 |
ReceiptHandleError | 指定された受信ハンドルが無効です。 | 400 |
リクエストの例:
DELETE /queues/$queueName/messages?ReceiptHandle=MbZj6wDWli+QEauMZc8ZRv37sIW2iJKq3M9Mx/KSbkJ0 HTTP/1.1
Host: $AccountId.mns.cn-hangzhou.aliyuncs.com
Date: Wed, 28 May 2012 22:32:00 GMT
x-mns-version: 2015-06-06
Authorization: MNS 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXAMPLE
戻り値の例:
HTTP/1.1 204 NoContent
x-mqs-request-id:512B2A634403E52B1956133E
x-mqs-version: 2015-06-06
BatchDeleteMessage
説明
このインタフェースは、それぞれに対応するReceiptHandleを入力することにより、メッセージキュー内の複数のメッセージをバッチで最大16個削除するために使用されます。
このインタフェースは、BatchReceiveMessageとともに使用することをお勧めします。
バッチ操作の結果は、成功と失敗のサブリクエストの両方を含めることができます。すべてのサブリクエストが成功した場合にのみ、HTTP ステータスコードが 204 です。いくつかのサブ要求が失敗すると、そのサブリクエストのエラー情報を確認する必要があります。
リクエスト
リクエストには、主に次の項目があります:
リクエスト行
DELETE /queues/$queueName/messages HTTP/1.1
特別な URI パラメーター
なし。
特別な応答ヘッダー
なし。「パブリックリターンヘッダー」を参照してください。
応答本文
結果は XML 形式で返されます。メッセージのメッセージ本文と属性が返されます。
応答
返されるメッセージには、戻りステータス行、HTTP ヘッダー、メッセージ本文の 3 つがあります。
HTTP ステータスコード
HTTP/1.1 204 NoContent
特別な応答ヘッダー
なし。「パブリックリターンヘッダー」を参照してください。
応答本文
なし。
特殊なエラー
エラーコード | エラーメッセージ | ステータスコード |
---|---|---|
QueueNotExist | 指定された名前のキューは存在しません。 | 404 |
InvalidArgument | Element の値は、Low と High の間の秒数またはバイト数にする必要があります。 | 400 |
ReceiptHandleError | 指定された受信ハンドルが無効です。 | 400 |
リクエストの例:
DELETE /queues/$queueName/messages HTTP/1.1
Host: $AccountId.mns.cn-hangzhou.aliyuncs.com
Date: Wed, 28 May 2012 22:32:00 GMT
x-mns-version: 2015-06-06
Authorization: MNS 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXAMPLE
<?xml version="1.0” encoding=”UTF-8” ?>
<ReceiptHandles xmlns=”http://mns.aliyuncs.com/doc/v1/”>
<ReceiptHandle>1-ODU4OTkzNDU5My0xNDM1MTk3NjAwLTItNg==</ReceiptHandle>
<ReceiptHandle>1-ODU4OTkzNDU5NC0xNDM1MTk3NjAwLTItNg==</ReceiptHandle>
<ReceiptHandle>1-ODU4OTkzNDU5NS0xNDM1MTk3NjAwLTItNg==</ReceiptHandle>
</ReceiptHandles>
戻り値の例:
すべてのメッセージを削除します。
HTTP/1.1 204 NoContent
x-mns-request-id:512B2A634403E52B1956133E
x-mns-version: 2015-06-06
一部のメッセージを削除できませんでした。
HTTP/1.1 404
Connection:close
Content-Type=text/xml;charset=utf-8
Content-Length:500
x-mns-request-id:512B2A634403E52B1956133E
x-mns-version: 2015-06-06
<?xml version="1.0” encoding=”UTF-8” ?>
<Errors xmlns=”http://mns.aliyuncs.com/doc/v1/”>
<Error>
<ErrorCode>MessageNotExist</ErrorCode>
<ErrorMessage>Message not exist.</ErrorMessage>
<ReceiptHandle>1-ODU4OTkzNDU5My0xNDM1MTk3NjAwLTItNg==</ReceiptHandle>
</Error>
<Error>
<ErrorCode>MessageNotExist</ErrorCode>
<ErrorMessage>Message not exist.</ErrorMessage>
<ReceiptHandle>1-ODU4OTkzNDU5NC0xNDM1MTk3NjAwLTItNg==</ReceiptHandle>
</Error>
</Errors>
PeekMessage
説明
このインターフェイスは、コンシューマーがメッセージを表示するために使用します。ReceiveMessage とは異なり、PeekMessage ではメッセージのステータスは変更されません。PeekMessage によってメッセージを取得した場合、メッセージは [Active] ステータスのままであり、表示や取得が可能です。しかし、メッセージを ReceiveMessage によって取得した場合、メッセージは [Inactive] ステータスに変わり、VisibilityTimeout 期間の間は表示も取得もできません。
リクエスト
リクエストには、主に次の項目があります。
リクエスト行
GET /$queueName/messages?peekonly=true HTTP/1.1
URI パラメーター
peekonly=true の場合、このリクエストを使用するとキュー内の最初のメッセージが表示されるだけで、メッセージのステータスは変更されません。
特別なリクエストヘッダー
なし。「パブリックリクエストヘッダー」を参照してください。
リクエスト本文
なし。
応答
返されるメッセージには、戻りステータス行、HTTP ヘッダー、メッセージ本文の 3 つがあります。
HTTP ステータスコード
HTTP/1.1 200 OK
特別な応答ヘッダー
なし。「パブリックリターンヘッダー」を参照してください。
応答本文
結果は XML 形式で返されます。メッセージのメッセージ本文と属性が返されます。
パラメーター名 | 説明 |
---|---|
MessageId | メッセージ ID、各キューの中で一意 |
MessageBody | メッセージ本文 |
MessageBodyMD5 | メッセージ本文の MD5 値 |
EnqueueTime | メッセージがキューに送信された日時を 1970 年 1 月 1 日 0:00 からのミリ秒単位の経過時間で表した値 |
FirstDequeueTime | メッセージが最初に取得された日時を 1970 年 1 月 1 日 0:00 からのミリ秒単位の経過時間で表した値。DequeueCount が 0 の場合、メッセージの EnqueueTime と同じ |
DequeueCount | メッセージが取得された合計回数 |
Priority | メッセージの優先順位 |
特殊なエラー
エラーコード | エラーメッセージ | ステータスコード |
---|---|---|
QueueNotExist | 指定された名前のキューは存在しません。 | 404 |
MessageNotExist | メッセージが存在しません。 | 404 |
リクエストの例:
GET /queues/$queueName/messages?peekonly=true HTTP/1.1
Host: $AccountId.mns.cn-hangzhou.aliyuncs.com
Date: Wed, 28 May 2012 22:32:00 GMT
x-mns-version: 2015-06-06
Authorization: MNS 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXAMPLE
戻り値の例:
HTTP/1.1 200 OK
Connection:close
Content-Type=text/xml;charset=utf-8
Content-Length:500
x-mqs-request-id:512B2A634403E52B1956133E
x-mqs-version: 2015-06-06
<?xml version="1.0" encoding="UTF-8"?>
<Message xmlns="http://mqs.aliyuncs.com/doc/v1/">
<MessageId>D6D5F7C9C12D14A4-1-14D953EFC72-200000004</MessageId>
<MessageBodyMD5>F9360F391579E71CA77BC5D50242FCF4</MessageBodyMD5>
<MessageBody>This is a test message</MessageBody>
<EnqueueTime>1250700979248</EnqueueTime>
<FirstDequeueTime>1250700979348</FirstDequeueTime >
<DequeueCount>5</DequeueCount>
<Priority>8<Priority>
</Message>
BatchPeekMessage
説明
このインターフェイスは、コンシューマーがメッセージを表示するために使用します。BatchReceiveMessage とは異なり、BatchPeekMessage ではメッセージのステータスは変更されません。BatchPeekMessage によってメッセージを取得した場合、メッセージは [Active] ステータスのままであり、表示や取得が可能です。しかし、メッセージを BatchReceiveMessage によって取得した場合、メッセージは [Inactive] ステータスに変わり、VisibilityTimeout 期間の間は表示も取得もできません。
リクエスト
リクエストには、主に次の項目があります。
リクエスト行
GET /queues/$queueName/messages?peekonly=true&numOfMessages=16 HTTP/1.1
特別なURI パラメーター
パラメーター名 | 説明 | 必須かどうか |
---|---|---|
peekonly=true | このリクエストを使用するとキュー内の最初のメッセージが表示されるだけで、メッセージのステータスは変更されません。 | 必須 |
numOfMessages | 現在のBatchPeekMessage操作で表示できるメッセージの最大数 | 必須 |
特別なリクエストヘッダー
なし。パブリックリクエストヘッダー を参照してください。
リクエスト本文
なし。
応答
返されるメッセージには、戻りステータス行、HTTP ヘッダー、メッセージ本文の 3 つがあります。
HTTP ステータスコード
HTTP/1.1 200 OK
特別な応答ヘッダー
なし。「パブリックリターンヘッダー」を参照してください。
応答本文
結果は XML 形式で返されます。メッセージのメッセージ本文と属性が返されます。
パラメーター名 | 説明 |
---|---|
MessageId | メッセージ ID、各キューの中で一意 |
MessageBody | メッセージ本文 |
MessageBodyMD5 | メッセージ本文の MD5 値 |
EnqueueTime | メッセージがキューに送信された日時を 1970 年 1 月 1 日 0:00 からのミリ秒単位の経過時間で表した値 |
FirstDequeueTime | メッセージが最初に取得された日時を 1970 年 1 月 1 日 0:00 からのミリ秒単位の経過時間で表した値。DequeueCount が 0 の場合、メッセージの EnqueueTime と同じ |
DequeueCount | メッセージが取得された合計回数 |
Priority | メッセージの優先順位 |
特殊なエラー
エラーコード | エラーメッセージ | ステータスコード |
---|---|---|
QueueNotExist | 指定された名前のキューは存在しません。 | 404 |
MessageNotExist | メッセージが存在しません。 | 404 |
リクエストの例:
GET /queues/$queueName/messages?peekonly=true&numOfMessages=16 HTTP/1.1
Host: $AccountId.mns.cn-hangzhou.aliyuncs.com
Date: Wed, 28 May 2012 22:32:00 GMT
x-mns-version: 2015-06-06
Authorization: MNS 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXAMPLE
戻り値の例:
HTTP/1.1 200 OK
Connection:close
Content-Type=text/xml;charset=utf-8
Content-Length:500
x-mns-request-id:512B2A634403E52B1956133E
x-mns-version: 2015-06-06
<?xml version="1.0" encoding="UTF-8"?>
<Messages xmlns=”http://mns.aliyuncs.com/doc/v1/”>
<Message>
<MessageId>D6D5F7C9C12D14A4-1-14D953EFC72-200000004</MessageId>
<MessageBodyMD5>F9360F391579E71CA77BC5D50242FCF4</MessageBodyMD5>
<MessageBody>This is a test message</MessageBody>
<EnqueueTime>1250700979248</EnqueueTime>
<FirstDequeueTime>1250700979348</FirstDequeueTime >
<DequeueCount>5</DequeueCount>
<Priority>8<Priority>
</Message>
<Message>
<MessageId>D6D5F7C9C12D14A4-1-14D953EFC72-200000005</MessageId>
<MessageBodyMD5>F9360F391579E71CA77BC5D50242FCF4</MessageBodyMD5>
<MessageBody>This is a test message</MessageBody>
<EnqueueTime>1250700979250</EnqueueTime>
<FirstDequeueTime>1250700979352</FirstDequeueTime >
<DequeueCount>5</DequeueCount>
<Priority>8<Priority>
</Message>
</Messages>
ChangeMessageVisibility
説明
このインターフェイスは、取得されたメッセージがまだ [Inactive] ステータスの間に、次に取得できる日時を変更するために使用します。VisibilityTimeout を変更すると、新しい ReceiptHandle が返されます。
リクエスト
リクエストには、主に次の項目があります。
リクエスト行
PUT /$queueName/messages?receiptHandle=<receiptHandle>&visibilityTimeout=<visibilitytimeout> HTTP/1.1
URI パラメーター
パラメーター名 | 説明 | 必須かどうか |
---|---|---|
ReceiptHandle | 前回の取得の後で返された ReceiptHandle。詳細については、「ReceiveMessage インターフェイス」を参照してください。 | 必須 |
VisibilityTimeout | 現在の日時と取得可能な日時の間の時間 (秒) | 必須 |
特別なリクエストヘッダー
なし。「パブリックリクエストヘッダー」を参照してください。
リクエスト本文
なし。
応答
返されるメッセージには、戻りステータス行、HTTP ヘッダー、メッセージ本文の 3 つがあります。
HTTP ステータスコード
HTTP/1.1 200 OK
特別な応答ヘッダー
なし。「パブリックリターンヘッダー」を参照してください。
- 応答本文
パラメーター名 | 説明 |
---|---|
ReceiptHandle | メッセージの VisibilityTimeout が変更された後で返された一時的なハンドル。まだ [Inactive] ステータスで、NextVisibleTime になる前のメッセージを削除または変更するために使用します。 |
NextVisibleTime | メッセージを再度取得できる日時を 1970 年 1 月 1 日 0:00 からのミリ秒単位の経過時間で表した値。 |
特殊なエラー
エラーコード | エラーメッセージ | ステータスコード |
---|---|---|
QueueNotExist | 指定された名前のキューは存在しません。 | 404 |
InvalidArgument | Element の値は、Low と High の間の秒数またはバイト数にする必要があります。 | 400 |
MessageNotExist | メッセージが存在しません。 | 404 |
リクエストの例:
PUT /queueName/messages
?receiptHandle=MbZj6wDWli+QEauMZc8ZRv37sIW2iJKq3M9Mx/KSbkJ0&visibilityTimeout=50 HTTP/1.1
Host: $AccountId.mqs-cn-hangzhou.aliyuncs.com
Date: Wed, 28 May 2012 22:32:00 GMT
x-mqs-version: 2014-07-08
Authorization: MQS 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXAMPLE
戻り値の例:
HTTP/1.1 200OK
x-mqs-request-id:512B2A634403E52B1956133E
x-mqs-version: 2015-06-06
<?xml version="1.0" encoding="UTF-8" ?>
<Message xmlns="http://mqs.aliyuncs.com/doc/v1/">
<ReceiptHandle>
TbZj6wDWli+9CEauMZc8ZRv37sIW2iJKq3M9Mx/TS1
</ReceiptHandle >
<NextVisibleTime>1250700979298000</NextVisibleTime>
</Message>