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

:キュー関連の操作

最終更新日:Mar 22, 2020

CreateQueue

説明

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

メッセージキューの名前は、256 文字以内の文字列です。先頭はアルファベットで、それ以外にはアルファベット、数字、ハイフン (-) を使用できます。

リクエスト

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

  • リクエスト行

    PUT /queues/$queueName HTTP/1.1

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

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

  • リクエスト本文

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

パラメーター名 説明 パラメーター値
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 を設定すると、キュー内にメッセージがない場合、そのキューへのすべての ReceiveMessage リクエストは、デフォルトで Pollingwait ステータスになります。PollingWaitSeconds 期間の全体を通じてメッセージがなければ、MessageNotExist が返されます。PollingWaitSeconds 期間の間に新しいメッセージがキューに入ると、対応する ReceiveMessage リクエストが起動され、応答が返されます。

応答

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

  • HTTP ステータスコード

HTTP/1.1 201 Created

  1. 同じオーナーに関して、メッセージキューの名前が重複することは許可されません。作成されたメッセージキューの名前が既存のメッセージキューと同じ場合、作成されたメッセージキューの属性が既存のメッセージキューの属性と同じであればエラー 204 (No Content)、そうでないときはエラー 409 (Conflict) が返されます。
  • 特別な応答ヘッダー
パラメーター名 説明
Location 作成された QueueURL は以下の形式で返されます。http://$AccountId.mns.<Region>.aliyuncs.com/queues/$queueName
  • 応答本文

    なし。

特殊なエラー

エラーコード エラーメッセージ ステータスコード
QueueAlreadyExist 作成しようとしたキューは既に存在します。 409
InvalidArgument Element の値は、Low と High の間の秒数またはバイト数にする必要があります。 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/$queueName

SetQueueAttributes

説明

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

リクエスト

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

  • リクエスト行

    PUT /$queueName?metaoverride=true HTTP/1.1

  • URI パラメーター

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

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

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

  • リクエスト本文

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

パラメーター名 説明 パラメーター値
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 つの部分があります。

  • HTTP ステータスコード

    HTTP/1.1 204 No Content

  • 特別な応答ヘッダー

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

  • 応答本文

    なし。

特殊なエラー

エラーコード エラーメッセージ ステータスコード
InvalidArgument Element の値は、Low と High の間の秒数またはバイト数にする必要があります。 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

説明

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

リクエスト

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

  • リクエスト行

    GET /$queueName HTTP/1.1

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

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

  • リクエスト本文

    なし。

応答

返されるメッセージには、戻りステータス行、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 /$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: 2014-07-08
  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

説明

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

注意:

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

リクエスト

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

  • リクエスト行

    DELETE /$queueName HTTP/1.1

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

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

  • リクエスト本文

    なし。

応答

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

  • HTTP ステータスコード

    HTTP/1.1 204 No Content

  • 特別な応答ヘッダー

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

  • 応答本文

    なし。

特殊なエラー

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

リクエストの例:

  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 / 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>