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
同じオーナーに関して、異なるメッセージキューに同じ名前を設定することは許可されません。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 |
リクエストの例:
PUT /queues/$queueName HTTP/1.1
Host: $AccountId.mns.cn-hangzhou.aliyuncs.com
Date: Wed, 08 Mar 2012 12:00:00 GMT
x-mns-version: 2015-06-06
Authorization:MNS 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXAMPLE=
<?xml version="1.0" enconding="UTF-8"?>
<Queue xmlns="http://mns.aliyuncs.com/doc/v1/">
<VisibilityTimeout>60</VisibilityTimeout>
<MaximumMessageSize>65536</MaximumMessageSize>
<MessageRetentionPeriod>1209600</MessageRetentionPeriod>
</Queue>
戻り値の例:
HTTP/1.1 201 Created
x-mns-request-id:512B2A634403E52B1956133E
x-mns-version: 2015-06-06
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 つの部分があります。
HTTP ステータスコード
HTTP/1.1 204 No Content
特別な応答ヘッダー
なし。「パブリックリターンパラメーター」を参照してください。
応答本文
なし
特殊なエラー
エラーコード | エラーメッセージ | ステータスコード |
---|---|---|
InvalidArgument | Element の値は、MIN と MAX の間の秒数またはバイト数にする必要があります。 | 400 |
QueueNotExist | 指定された名前のキューは存在しません。 | 404 |
リクエストの例:
PUT /queues/$queueName?Metaoverride=true HTTP/1.1
Host: $AccountId.mns.cn-hangzhou.aliyuncs.com
Date: Wed, 08 Mar 2012 12:00:00 GMT
x-mns-version: 2015-06-06
Authorization: MNS 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXAMPLE=
<?xml version="1.0" encoding="UTF-8" ?>
<Queue xmlns="http://mns.aliyuncs.com/doc/v1/">
<VisibilityTimeout >60</VisibilityTimeout>
<MaximumMessageSize>1024</MaximumMessageSize>
<MessageRetentionPeriod>120</MessageRetentionPeriod>
<DelaySeconds>30</DelaySeconds>
</Queue>
戻り値の例:
HTTP/1.1 204 No Content
x-mns-request-id:512B2A634403E52B1956133E
x-mns-version: 2015-06-06
GetQueueAttributes
説明
このインターフェイスは、作成されたキューの属性を取得するために使用します。キューの作成時に設定される設定可能な属性に加えて、キューの作成日時、キュー属性の最終変更日時、キュー内のメッセージの種類ごとの数 (概数) が返されます。
リクエスト
リクエストには、主に次の部分があります。
リクエスト行
GET /queues/$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 |
リクエストの例:
GET /queues/$queueName HTTP/1.1
Host: $AccountId.mns.cn-hangzhou.aliyuncs.com
Date: Wed, 08 Mar 2012 12:00: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:145
x-mns-request-id:512B2A634403E52B1956133E
x-mns-version: 2015-06-06
<?xml version="1.0" encoding="UTF-8"?>
<Queue xmlns=http://mns.aliyuncs.com/doc/v1/">
<QueueName>$queueName </QueueName ><!-The actual Queue Name is returned ->
<CreateTime>1250700999</CreateTime >
<LastModifyTime>1250700999</LastModifyTime>
<VisibilityTimeout>60</VisibilityTimeout >
<MaximumMessageSize>65536</MaximumMessageSize>
<MessageRetentionPeriod>65536</MessageRetentionPeriod>
<DelaySeconds>30</DelaySecond>
<PollingWaitSeconds>0</PollingWaitSeconds>
<InactiveMessages>0</InactiveMessages>
<ActiveMessages>20</ActiveMessages>
< DelayMessages >0</ DelayMessages>
</Queue>
DeleteQueue
説明
このインターフェイスは、作成済みのメッセージキューを削除するために使用します。
注意:
このインターフェイスを使用する際には注意してください。キューが削除されると、キュー内のすべてのメッセージは復元できません。
リクエスト
リクエストには、主に次の部分があります。
リクエスト行
DELETE /queues/$queueName HTTP/1.1
特別なリクエストヘッダー
なし。「パブリックリクエストヘッダー」を参照してください。
リクエスト本文
なし
応答
返されるメッセージには、戻りステータス行、HTTP ヘッダー、メッセージ本文の 3 つの部分があります。
HTTP ステータスコード
HTTP/1.1 204 No Content
特別な応答ヘッダー
なし。「パブリックリターンヘッダー」を参照してください。
応答本文
なし
特殊なエラー
この操作には特殊なエラーはなく、関係するエラーは主に権限検証エラーとパラメーター設定エラーです。詳細については、MNS エラー応答コードを参照してください。
リクエストの例:
DELETE /queues/$queueName HTTP/1.1
Host: $AccountId.mns.cn-hangzhou.aliyuncs.com
Date: Wed, 08 Mar 2012 12:00: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
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 エラー応答コードを参照してください。
リクエストの例:
GET /queues HTTP/1.1
x-mns-marker: xxxx
x-mns-ret-number:2
Host: $AccountId.mns.cn-hangzhou.aliyuncs.com
Date: Wed, 08 Mar 2012 12:00: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" ?>
<Queuesxmlns="http://mns.aliyuncs.com/doc/v1/">
<Queue>
< QueueURL>
http:// $AccountId.mns.cn-hangzhou.aliyuncs.com/queues/queueName
</ QueueURL>
</Queue>
<Queue>
< QueueURL>
http:// $AccountId.mns.cn-hangzhou.aliyuncs.com/queues/queueName1
</ QueueURL>
</Queue>
<NextMarker> Base64 Encoded Result </NextMarker>
</Queues>