SendMessage
説明
このインターフェイスは、指定されたメッセージキューにメッセージを送信するために使用します。コンシューマーは、一般的なメッセージを、メッセージキューに送信された後すぐに取得できます。プロデューサーは、メッセージがすぐに取得される見込みがない場合 (一般的なシナリオはスケジュール済みタスクです)、メッセージの送信時に DelaySeconds パラメーターを設定することができます。DelaySeconds 値が正の値であるメッセージは、初期ステータスが 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 |
応答
返されるメッセージには、戻りステータス行、HTTP ヘッダー、メッセージ本文の 3 つの部分があります。
HTTP ステータスコード
HTTP/1.1 201 Created
特別な応答ヘッダー
なし。パブリックリターンヘッダー を参照してください。
応答本文
結果は XML 形式で返されます。メッセージの下位要素である MessageId と MessageBodyMD5 が返されます。
パラメーター名 | 説明 |
---|---|
MessageId | メッセージ ID、各キューの中で一意。 |
MessageBodyMD5 | メッセージ本文の MD5 値。 |
特殊なエラー
エラーコード | エラーメッセージ | ステータスコード |
---|---|---|
QueueNotExist | 指定された名前のキューは存在しません。 | 404 |
MalformedXML | 指定された XML の形式が誤っています。 | 400 |
InvalidArgument | Element の値は、Low と High の間の秒数またはバイト数にする必要があります。 | 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-mns-request-id:512B2A634403E52B1956133E
x-mns-version: 2015-06-06
<?xml version="1.0" encoding="UTF-8" ?>
<Message xmlns="http://mns.aliyuncs.com/doc/v1/">
<MessageId>
5F290C926D472878-2-14D9529A8FA-200000001
</MessageId>
<MessageBodyMD5>
C5DD56A39F5F7BB8B3337C6D11B6D8C7
</MessageBodyMD5>
</Message>
BatchSendMessage
説明
このインターフェイスは、指定されたメッセージキューにメッセージをバッチ送信するために使用します。最大で 16 件のメッセージを 1 回の BatchSendMessage 操作で送信できます。
コンシューマーは、一般的なメッセージを、メッセージキューに送信された後すぐに取得できます。プロデューサーは、メッセージがすぐに取得される見込みがない場合 (一般的なシナリオはスケジュール済みタスクです)、メッセージの送信時に DelaySeconds パラメーターを設定することができます。DelaySeconds 値が正の値であるメッセージは、初期ステータスが 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 |
応答
返されるメッセージには、戻りステータス行、HTTP ヘッダー、メッセージ本文の 3 つの部分があります。
HTTP ステータスコード
HTTP/1.1 201 Created
特別な応答ヘッダー
なし。パブリックリターンヘッダー を参照してください。
応答本文
結果は XML 形式で返されます。複数のメッセージの下位要素である MessageId と MessageBodyMD5 が返されます。
パラメーター名 | 説明 |
---|---|
MessageId | メッセージ ID、各キューの中で一意。 |
MessageBodyMD5 | メッセージ本文の MD5 値。 |
特殊なエラー:
エラーコード | エラーメッセージ | ステータスコード |
---|---|---|
QueueNotExist | 指定された名前のキューは存在しません。 | 404 |
MalformedXML | 指定された XML の形式が誤っています。 | 400 |
InvalidArgument | Element の値は、Low と High の間の秒数またはバイト数にする必要があります。 | 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 /queues/$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 /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
応答の例:
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" ?>
<Message xmlns="http://mns.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
説明
このインターフェイスは、コンシューマーがメッセージをバッチで取得するために使用します。最大で 16 件のメッセージを 1 回の BatchReceiveMessage 操作で取得できます。この操作により、取得したメッセージは [Inactive] ステータスに変わります。Inactive 期間は、キューの VisibilityTimeout 属性によって決まります (詳細については、「CreateQueue インターフェイス」を参照してください)。
メッセージがコンシューマーによって正常に取得されたら、VisibilityTimeout 期間の間に DeleteMessage インターフェイスを呼び出して、取得されたメッセージを削除する必要があります。削除しない場合、取得されたメッセージは [Active] ステータスに戻り、コンシューマーは再びこのメッセージを取得できます。
リクエスト
リクエストには、主に次の部分があります。
リクエスト行
GET /queues/$queueName/messages?numOfMessages=16&waitseconds=10 HTTP/1.1
特別な URI パラメーター
パラメーター名 | 説明 | 必須かどうか |
---|---|---|
numOfMessages | 現在の BatchReceiveMessage 操作で取得できるメッセージ数の上限 | 必須 |
waitseconds | ReceiveMessage リクエストのポーリング最大待ち時間①(秒) | 任意 |
注意:
BatchReceiveMessage リクエストで waitseconds パラメーターが指定されている場合、その BatchReceiveMessage リクエストのポーリング待ち時間は 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 /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 は無効になって削除は失敗するので、新しい ReceiptHandle を取得する必要があります。
リクエスト
リクエストには、主に次の部分があります。
リクエスト行
DELETE /queues/$queueName/messages?ReceiptHandle=<receiptHandleHTTP/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-mns-request-id:512B2A634403E52B1956133E
x-mns-version: 2015-06-06
BatchDeleteMessage
説明
このインターフェイスは、メッセージキュー内のメッセージをバッチ削除するために使用します。削除できるメッセージの数の上限は 16 です。メッセージごとに、対応する ReceiptHandle を入力する必要があります。
効率を高めるために、このインターフェイスは BatchReceiveMessage と組み合わせて使用することをお勧めします。
このバッチ操作の結果には、成功したサブリクエストと失敗したサブリクエストが混在する可能性があります。HTTP ステータスコードは、すべてのサブリクエストが成功した場合に限り 204 になります。失敗したサブリクエストがある場合は、応答に含まれるすべてのサブリクエストのエラー情報を確認します。
リクエスト
リクエストには、主に次の部分があります。
リクエスト行
DELETE /queues/$queueName/messages HTTP/1.1
特別な URI パラメーター
なし
特別なリクエストヘッダー
なし。パブリックリクエストヘッダー を参照してください。
リクエスト本文
リクエスト本文は、XML 形式です。XML には、複数のメッセージの ReceiptHandles が含まれます。
応答
返されるメッセージには、戻りステータス行、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 /queues/$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-mns-request-id:512B2A634403E52B1956133E
x-mns-version: 2015-06-06
<?xml version="1.0" encoding="UTF-8"?>
<Message xmlns="http://mns.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
説明
このインターフェイスは、コンシューマーがメッセージをバッチ表示するために使用します。最大で 16 件のメッセージを同時に表示できます。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 /queues/$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 /queues/$queueName/messages
?receiptHandle=MbZj6wDWli+QEauMZc8ZRv37sIW2iJKq3M9Mx/KSbkJ0&visibilityTimeout=50 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 200OK
x-mns-request-id:512B2A634403E52B1956133E
x-mns-version: 2015-06-06
<?xml version="1.0" encoding="UTF-8" ?>
<Message xmlns="http://mns.aliyuncs.com/doc/v1/">
<ReceiptHandle>
TbZj6wDWli+9CEauMZc8ZRv37sIW2iJKq3M9Mx/TS1
</ReceiptHandle >
<NextVisibleTime>1250700979298000</NextVisibleTime>
</Message>