メッセージの削除 (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 の監視」を参照してください。

要求本文

なし。

[応答]

応答には、HTTP 状態コードおよび一連の応答ヘッダーが含まれています。

状態コード

操作が正常に終了すると、ステータス コード 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 (Not Found) を返します。 このエラーは、ポップ レシートが無効になった、前述のケースで発生します。

関連項目

Azure Storage への要求を承認する
状態コードとエラー コード
Queue Storage のエラー コード