すべてのプロダクト
Search
ドキュメントセンター

:キュー関連の操作

最終更新日:Mar 22, 2020

CreateQueue

説明

このインターフェイスは、新しいメッセージキューを作成するために使用します。

メッセージキューの名前は 256 文字以内で、アルファベット、数字、ハイフン (-) を使用できますが、最初の文字はアルファベットにする必要があります。

リクエスト

リクエストには、主に次の部分があります。

  • リクエスト行

PUT /queues/$queueName HTTP/1.1

  • 特別なリクエストヘッダー

なし。「パブリックリターンパラメーター」を参照してください。

  • リクエスト本文

リクエスト本文は XML 形式で、作成するキューの属性が含まれます。これらの属性はすべて任意です。

パラメーター名 説明 パラメーター値
DelaySeconds 秒数で計測します。キューに送信されたすべてのメッセージは、DelaySeconds が経過すると取得できるようになります。 0 から 604800 (7 日間) までの整数。デフォルト値は 0。
MaximumMessageSize キューに送信されるメッセージの本文の最大長 (バイト)。 1024 (1 K) から 65536 (64 K) までの整数。デフォルト値は 65536 (64K)。
MessageRetentionPeriod キュー内でのメッセージの最大ライフタイム (秒)。このパラメーターによって指定された時間が経過すると、メッセージは取得済みかどうかに関係なく削除されます。 60 (1 分) から 1296000 (15 日) までの整数。デフォルト値は 345600 (4 日)。
VisibilityTimeout キューから取得された後、メッセージが Inactive ステータスのままになる時間。秒数で計測されます。 1 から 43200 (12 時間) までの整数。デフォルト値は 30 (秒)。
PollingWaitSeconds キュー内にメッセージが 1 つもないときに、ReceiveMessage リクエストがメッセージの受信を待つことができる時間の上限。秒数で計測されます。 0 秒から 30 秒までの整数。デフォルト値は 0 (秒)。

注意:

キューに対して PollingWaitSeconds を設定すると、デフォルトでは、そのキューへのすべての (Batch)ReceiveMessage リクエストは、キュー内にメッセージが 1 つも存在しなければ PollingWait ステータスになります。PollingWaitSeconds 期間の全体を通じてメッセージが受信されなければ、MessageNotExist が返されます。PollingWaitSeconds 期間の間に新しいメッセージがキューに入ると、対応する ReceiveMessage リクエストが起動され、応答が返されます。

応答

返されるメッセージには、戻りステータス行、HTTP ヘッダー、メッセージ本文の 3 つの部分があります。

  • HTTP ステータスコード

HTTP/1.1 201 Created

  1. 同じオーナーに関して、異なるメッセージキューに同じ名前を設定することは許可されません。CreateQueueRequest 内のキュー名が現在のユーザーの作成済みキュー内に存在すると、2 種類の ErrorCode が返される可能性があります。既存のキューの属性が CreateQueueRequest 内の属性と同じ場合は、キューが存在することを示す 204 (No Content) が返されます。そうでない場合はエラー 409 (Conflict) が返されます。
  • 特別な応答ヘッダー
パラメーター名 説明
Location 作成された QueueURL は以下の形式で返されます。http://$AccountId.mns.<リージョン>.aliyuncs.com/queues/$queueName
  • 応答本文

    なし

特殊なエラー

エラーコード エラーメッセージ ステータスコード
QueueAlreadyExist 作成しようとしたキューは既に存在します。 409
InvalidArgument Element の値は、MIN と MAX の間の秒数またはバイト数にする必要があります。 400

リクエストの例:

  1. PUT /queues/$queueName HTTP/1.1
  2. Host: $AccountId.mns.cn-hangzhou.aliyuncs.com
  3. Date: Wed, 08 Mar 2012 12:00:00 GMT
  4. x-mns-version: 2015-06-06
  5. Authorization:MNS 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXAMPLE=
  6. <?xml version="1.0" enconding="UTF-8"?>
  7. <Queue xmlns="http://mns.aliyuncs.com/doc/v1/">
  8. <VisibilityTimeout>60</VisibilityTimeout>
  9. <MaximumMessageSize>65536</MaximumMessageSize>
  10. <MessageRetentionPeriod>1209600</MessageRetentionPeriod>
  11. </Queue>

戻り値の例:

  1. HTTP/1.1 201 Created
  2. x-mns-request-id:512B2A634403E52B1956133E
  3. x-mns-version: 2015-06-06
  4. Location: http://$AccountId.mns.cn-hangzhou.aliyuncs.com/queues/$queueName

SetQueueAttributes

説明

このインターフェイスは、メッセージキューの属性を変更するために使用します。

リクエスト

リクエストには、主に次の部分があります。

  • リクエスト行

    PUT /queues/$queueName?metaoverride=true HTTP/1.1

  • URI パラメーター

    metaoverride=true: メッセージキューの属性は変更されます。

  • 特別なリクエストヘッダー

    なし。「パブリックリクエストヘッダー」を参照してください。

  • リクエスト本文

    リクエスト本文は XML 形式で、作成するキューの属性が含まれます。これらの属性はすべて任意です。

パラメーター名 説明 パラメーター値
DelaySeconds 秒数で計測します。キューに送信されたすべてのメッセージは、DelaySeconds が経過すると取得できるようになります。 0 から 604800 (7 日間) までの整数。デフォルト値は 0。
MaximumMessageSize キューに送信されるメッセージの本文の最大長 (バイト)。 1024 (1 K) から 65536 (64 K) までの整数。デフォルト値は 65536 (64K)。
MessageRetentionPeriod キュー内でのメッセージの最大ライフタイム (秒)。このパラメーターによって指定された時間が経過すると、メッセージは取得済みかどうかに関係なく削除されます。 60 (1 分) から 1296000 (15 日) までの整数。デフォルト値は 345600 (4 日)。
VisibilityTimeout キューから取得された後、メッセージが Inactive ステータスのままになる時間。秒数で計測されます。 1 から 43200 (12 時間) までの整数。デフォルト値は 30 (秒)。
PollingWaitSeconds キュー内にメッセージが 1 つもないときに、ReceiveMessage リクエストがメッセージの受信を待つことができる時間の上限。秒数で計測されます。 0 秒から 30 秒までの整数。デフォルト値は 0 (秒)。

応答

返されるメッセージには、戻りステータス行、HTTP ヘッダー、メッセージ本文の 3 つの部分があります。

特殊なエラー

エラーコード エラーメッセージ ステータスコード
InvalidArgument Element の値は、MIN と MAX の間の秒数またはバイト数にする必要があります。 400
QueueNotExist 指定された名前のキューは存在しません。 404

リクエストの例:

  1. PUT /queues/$queueName?Metaoverride=true HTTP/1.1
  2. Host: $AccountId.mns.cn-hangzhou.aliyuncs.com
  3. Date: Wed, 08 Mar 2012 12:00:00 GMT
  4. x-mns-version: 2015-06-06
  5. Authorization: MNS 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXAMPLE=
  6. <?xml version="1.0" encoding="UTF-8" ?>
  7. <Queue xmlns="http://mns.aliyuncs.com/doc/v1/">
  8. <VisibilityTimeout >60</VisibilityTimeout>
  9. <MaximumMessageSize>1024</MaximumMessageSize>
  10. <MessageRetentionPeriod>120</MessageRetentionPeriod>
  11. <DelaySeconds>30</DelaySeconds>
  12. </Queue>

戻り値の例:

  1. HTTP/1.1 204 No Content
  2. x-mns-request-id:512B2A634403E52B1956133E
  3. x-mns-version: 2015-06-06

GetQueueAttributes

説明

このインターフェイスは、作成されたキューの属性を取得するために使用します。キューの作成時に設定される設定可能な属性に加えて、キューの作成日時、キュー属性の最終変更日時、キュー内のメッセージの種類ごとの数 (概数) が返されます。

リクエスト

リクエストには、主に次の部分があります。

応答

返されるメッセージには、戻りステータス行、HTTP ヘッダー、メッセージ本文の 3 つの部分があります。

  • HTTP ステータスコード

    HTTP/1.1 200OK

  • 特別な応答ヘッダー

    なし。「パブリックリターンヘッダー」を参照してください。

  • 応答本文

    結果は XML 形式で返されます。形式: <Queue>Attribute Element List</Queue>

属性要素のリストの内容は次のとおりです

パラメーター名 説明
QueueName キュー名
CreateTime キューの作成日時。1970 年 1 月 1 日 0:00 から現在までの経過秒数です。
LastModifyTime キューの属性の最終変更日時。1970 年 1 月 1 日 0:00 から現在までの経過秒数です。
DelaySeconds キューに送信されたメッセージを取得できるようになるまでの遅延時間 (秒)。
MaximumMessageSize キューに送信されるメッセージの本文の最大長 (バイト)。
MessageRetentionPeriod キュー内でのメッセージの最大ライフタイム (秒)。このパラメーターによって指定された時間が経過すると、メッセージは取得済みかどうかに関係なく削除されます。
PollingWaitSeconds キュー内にメッセージが 1 つもないときに、ReceiveMessage リクエストがメッセージの受信を待つことができる時間の上限。秒数で測定されます。
Activemessages キュー内の [Active] ステータスのメッセージの総数 (概数)
InactiveMessages キュー内の [Inactive] ステータスのメッセージの総数 (概数)
DelayMessages キュー内の [Delayed] ステータスのメッセージの総数 (概数)

特殊なエラー

エラーコード エラーメッセージ ステータスコード
QueueNotExist 指定された名前のキューは存在しません。 404

リクエストの例:

  1. GET /queues/$queueName HTTP/1.1
  2. Host: $AccountId.mns.cn-hangzhou.aliyuncs.com
  3. Date: Wed, 08 Mar 2012 12:00:00 GMT
  4. x-mns-version: 2015-06-06
  5. Authorization: MNS 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXAMPLE=

戻り値の例:

  1. HTTP/1.1 200 OK
  2. Connection:close
  3. Content-Type=text/xml;charset=utf-8
  4. Content-Length:145
  5. x-mns-request-id:512B2A634403E52B1956133E
  6. x-mns-version: 2015-06-06
  7. <?xml version="1.0" encoding="UTF-8"?>
  8. <Queue xmlns=http://mns.aliyuncs.com/doc/v1/">
  9. <QueueName>$queueName </QueueName ><!-The actual Queue Name is returned ->
  10. <CreateTime>1250700999</CreateTime >
  11. <LastModifyTime>1250700999</LastModifyTime>
  12. <VisibilityTimeout>60</VisibilityTimeout >
  13. <MaximumMessageSize>65536</MaximumMessageSize>
  14. <MessageRetentionPeriod>65536</MessageRetentionPeriod>
  15. <DelaySeconds>30</DelaySecond>
  16. <PollingWaitSeconds>0</PollingWaitSeconds>
  17. <InactiveMessages>0</InactiveMessages>
  18. <ActiveMessages>20</ActiveMessages>
  19. < DelayMessages >0</ DelayMessages>
  20. </Queue>

DeleteQueue

説明

このインターフェイスは、作成済みのメッセージキューを削除するために使用します。

注意:

このインターフェイスを使用する際には注意してください。キューが削除されると、キュー内のすべてのメッセージは復元できません。

リクエスト

リクエストには、主に次の部分があります。

応答

返されるメッセージには、戻りステータス行、HTTP ヘッダー、メッセージ本文の 3 つの部分があります。

特殊なエラー

この操作には特殊なエラーはなく、関係するエラーは主に権限検証エラーとパラメーター設定エラーです。詳細については、MNS エラー応答コードを参照してください。

リクエストの例:

  1. DELETE /queues/$queueName HTTP/1.1
  2. Host: $AccountId.mns.cn-hangzhou.aliyuncs.com
  3. Date: Wed, 08 Mar 2012 12:00:00 GMT
  4. x-mns-version: 2015-06-06
  5. Authorization: MNS 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXAMPLE=

戻り値の例:

  1. HTTP/1.1 204 NoContent
  2. x-mns-request-id: 512B2A634403E52B1956133E
  3. x-mns-version: 2015-06-06

ListQueue

説明

このインターフェイスは、AccountId の下のメッセージキューをリストするために使用します。データはページ単位で取得されます。QueueURL 属性だけが返されます。

必要であれば、GetQueueAttributes インターフェイス (「GetQueueAttributes インターフェイス」を参照してください) を使用して他のメッセージキュー属性を取得します。

指定したメッセージキューのリストを取得するには、このインターフェイスを呼び出すときに x-mns-prefix パラメーターを指定します。指定されたプレフィックスを持つすべてのメッセージキューが返されます。

ヒント:このリクエストに対して返されるメッセージキューの総数が x-mns-ret-number 値を超える場合、返された XML 結果には NextMarker が含まれます。これは次のページの開始位置を示しており、この値を次のリクエストの x-mns-marker パラメーターに割り当てることで次のページを取得できます。

リクエスト

リクエストには、主に次の部分があります。

  • リクエスト行

    GET /queues HTTP/1.1

  • 特別なリクエストヘッダー

パラメーター名 説明 必須かどうか
x-mns-marker 次のページの開始位置。通常は、前のページで返される NextMarker から取得されます。 任意
x-mns-ret-number 1 回のリクエストで返される結果の最大数。1 から 1000 までの整数。デフォルト値は 1000。 任意
x-mns-prefix このプレフィックスで始まる queueNames を検索します。 任意

他のリクエストヘッダーについては、「パブリックリクエストヘッダー」を参照してください。

  • リクエスト本文

    なし

応答

返されるメッセージには、戻りステータス行、HTTP ヘッダー、メッセージ本文の 3 つの部分があります。

  • HTTP ステータスコード

    HTTP/1.1 200 OK

  • 特別な応答ヘッダー

    なし。「パブリックリターンヘッダー」を参照してください。

  • 応答本文

    結果は XML 形式で返されます。最上位要素である Queues には複数の Queue 要素が含まれており、Queue 要素には QueueURL 要素が含まれています。QueueURL は、作成されたキューの URL アドレスを示しています。返された結果の数が x-mns-ret-number 値を超える場合、NextMarker に含まれる要素は次のページの開始位置を示しています。

特殊なエラー

この操作には特殊なエラーはなく、関係するエラーは主に権限検証エラーとパラメーター設定エラーです。詳細については、MNS エラー応答コードを参照してください。

リクエストの例:

  1. GET /queues HTTP/1.1
  2. x-mns-marker: xxxx
  3. x-mns-ret-number:2
  4. Host: $AccountId.mns.cn-hangzhou.aliyuncs.com
  5. Date: Wed, 08 Mar 2012 12:00:00 GMT
  6. x-mns-version: 2015-06-06
  7. Authorization: MNS 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXAMPLE=

戻り値の例:

  1. HTTP/1.1 200OK
  2. x-mns-request-id:512B2A634403E52B1956133E
  3. x-mns-version: 2015-06-06
  4. <?xml version="1.0" encoding="UTF-8" ?>
  5. <Queuesxmlns="http://mns.aliyuncs.com/doc/v1/">
  6. <Queue>
  7. < QueueURL>
  8. http:// $AccountId.mns.cn-hangzhou.aliyuncs.com/queues/queueName
  9. </ QueueURL>
  10. </Queue>
  11. <Queue>
  12. < QueueURL>
  13. http:// $AccountId.mns.cn-hangzhou.aliyuncs.com/queues/queueName1
  14. </ QueueURL>
  15. </Queue>
  16. <NextMarker> Base64 Encoded Result </NextMarker>
  17. </Queues>