メッセージの削除 (Azure Storage)
この操作により Delete Message
、指定したメッセージがキューから削除されます。
要求
要求は Delete Message
次のように構築できます。 HTTPS が推奨されます。
Method | 要求 URI | HTTP バージョン |
---|---|---|
DELETE |
https://myaccount.queue.core.windows.net/myqueue/messages/messageid?popreceipt=string-value |
HTTP/1.1 |
をストレージ アカウントの名前、キューの名前、myqueue
およびstring-value
メッセージを削除するために取得したポップ レシートの値に置き換えますmyaccount
。
エミュレートされたストレージ サービス URI
エミュレートされたストレージ サービスに対して要求を行う場合は、エミュレーターのホスト名と Azure Queue Storage ポートを として 127.0.0.1:10001
指定し、その後にエミュレートされたストレージ アカウント名を指定します。
Method | 要求 URI | HTTP バージョン |
---|---|---|
DELETE |
http://127.0.0.1:10001/devstoreaccount1/myqueue/messages/messageid?popreceipt=string-value |
HTTP/1.1 |
URI パラメーター
要求の URI では、次のパラメーターがサポートされています。
パラメーター | 説明 |
---|---|
popreceipt |
必須。 メッセージの取得またはメッセージの更新操作に対する以前の呼び出しから返される有効なポップ レシート値。 |
timeout |
省略可能。
timeout パラメーターは、秒単位で表されます。 詳細については、「 Queue Storage 操作のタイムアウトの設定」を参照してください。 |
要求ヘッダー
必須要求ヘッダーと省略可能な要求ヘッダーを次の表に示します。
要求ヘッダー | 説明 |
---|---|
Authorization |
必須。 承認スキーム、アカウント名、署名を指定します。 詳細については、「Azure Storage への要求を承認する」をご覧ください。 |
Date または x-ms-date |
必須。 要求に対して協定世界時 (UTC) を指定します。 詳細については、「Azure Storage への要求を承認する」をご覧ください。 |
x-ms-version |
省略可能。 この要求に使用する操作のバージョンを指定します。 詳細については、「Azure Storage サービスのバージョン管理」を参照してください。 |
x-ms-client-request-id |
省略可能。 ログ記録の構成時にログに記録される 1 kibibyte (KiB) 文字制限を使用して、クライアントによって生成された不透明な値を提供します。 このヘッダーを使用して、クライアント側のアクティビティとサーバーが受信する要求を関連付けるよう強くお勧めします。 詳細については、「 Azure Queue Storage の監視」を参照してください。 |
要求本文
[なし] :
Response
応答には、HTTP 状態コードおよび一連の応答ヘッダーが含まれています。
status code
操作が正常に終了すると、ステータス コード 204 (No Content) が返されます。 状態コードの詳細については、「 状態とエラー コード」を参照してください。
応答ヘッダー
この操作の応答には、次のヘッダーが含まれています。 応答には、追加の標準 HTTP ヘッダーも含まれます。 すべての標準ヘッダーは 、HTTP/1.1 プロトコル仕様に準拠しています。
要求ヘッダー | 説明 |
---|---|
x-ms-request-id |
このヘッダーは、行われた要求を一意に識別し、要求のトラブルシューティングに使用できます。 詳細については、「 API 操作のトラブルシューティング」を参照してください。 |
x-ms-version |
要求の実行に使用される Queue Storage のバージョンを示します。 このヘッダーはバージョン 2009-09-19 以降で行った要求に対して返されます。 |
Date |
応答が開始された時刻を示す UTC 日付/時刻値。 サービスによってこの値が生成されます。 |
x-ms-client-request-id |
このヘッダーは、要求と対応する応答のトラブルシューティングに使用できます。 このヘッダーの値は、要求に存在する x-ms-client-request-id 場合、ヘッダーの値と同じです。 この値は、最大 1,024 文字の ASCII 文字で表示されます。 ヘッダーが x-ms-client-request-id 要求に存在しない場合、このヘッダーは応答に存在しません。 |
応答本文
[なし] :
承認
アカウント所有者は、この操作を実行できます。 さらに、この操作を実行するアクセス許可を持つ共有アクセス署名を持つすべてのユーザーが実行できます。
注釈
メッセージが正常に削除されると、メッセージはすぐに削除対象としてマークされ、アクセスできなくなります。
クライアントが メッセージの取得 操作でメッセージを取得した後、クライアントはメッセージを処理して削除する必要があります。 メッセージを削除するには、Get Messages
操作の応答本文で返されるデータのうち、次の 2 つが必要です。
メッセージ ID。キュー内のメッセージを識別する非透過の GUID 値です。
有効な POPReceipt。メッセージが取得されたことを示す非透過の値です。
メッセージ ID は、直前の Get Messages
操作から返されます。 PopReceipt は、直近の Get Messages
操作または Update Message
操作から返されます。 操作をDelete Message
成功させるには、要求で指定されたポップレシートが、 または Update Message
操作からGet Messages
返されたポップレシートと一致している必要があります。
PopReceipt は、次のいずれかのイベントが発生するまで有効な状態に維持されます。
メッセージの有効期限が切れます。
メッセージは、 または
Update Message
からGet Messages
受信した最後のポップ レシートを使用して削除されます。非表示タイムアウトの有効期限が切れ、メッセージは要求によって
Get Messages
デキューされます。 非表示タイムアウトが切れると、メッセージが再び表示されます。 別Get Messages
の要求によって取得された場合は、返されたポップ レシートを使用してメッセージを削除または更新できます。メッセージは、新しい可視性タイムアウトで更新されます。 メッセージが更新されると、新しいポップ レシートが返されます。
一致するポップ レシートを含むメッセージが見つからない場合、サービスはエラー コード 404 (見つかりません) を返します。 このエラーは、ポップ レシートが無効になった前に一覧表示されたケースで発生します。