刪除 Azure 儲存體 (訊息)

作業 Delete Message 會從佇列中刪除指定的訊息。

要求

您可以依照下列方式建構 Delete Message 要求。 建議使用 HTTPS。

方法 要求 URI HTTP 版本
DELETE https://myaccount.queue.core.windows.net/myqueue/messages/messageid?popreceipt=string-value HTTP/1.1

將 取代 myaccount 為儲存體帳戶的名稱、 myqueue 佇列的名稱,並以 string-value 要刪除郵件的快顯收據值取代 。

模擬儲存體服務 URI

當您對模擬儲存體服務提出要求時,請將模擬器主機名稱和 Azure 佇列儲存體埠指定為 127.0.0.1:10001 ,後面接著模擬的儲存體帳戶名稱。

方法 要求 URI HTTP 版本
DELETE http://127.0.0.1:10001/devstoreaccount1/myqueue/messages/messageid?popreceipt=string-value HTTP/1.1

URI 參數

要求 URI 支援下列參數。

參數 描述
popreceipt 必要。 從先前呼叫 取得訊息更新訊息 作業傳回的有效快顯收據值。
timeout 選擇性。 timeout 參數以秒為單位。 如需詳細資訊,請參閱 設定佇列儲存體作業的逾時

要求標頭

下表描述必要的和選用的要求標頭。

要求標頭 描述
Authorization 必要。 指定授權配置、帳戶名稱和簽章。 如需詳細資訊,請參閱授權對 Azure 儲存體提出要求
Datex-ms-date 必要。 指定要求的「國際標準時間」(UTC)。 如需詳細資訊,請參閱授權對 Azure 儲存體提出要求
x-ms-version 選擇性。 指定用於這個要求的作業版本。 如需詳細資訊,請參閱 Azure 儲存體服務的版本
x-ms-client-request-id 選擇性。 提供用戶端產生的不透明值,其中包含 1-kibibyte (KiB) 設定記錄時記錄在記錄中的字元限制。 強烈建議您使用此標頭,將用戶端活動與伺服器收到的要求相互關聯。 如需詳細資訊,請參閱 監視 Azure 佇列儲存體

要求本文

無。

回應

回應包括 HTTP 狀態碼和一組回應標頭。

狀態碼

成功的作業會傳回狀態碼 204 (沒有內容)。 如需狀態碼的相關資訊,請參閱 狀態和錯誤碼

回應標頭

這項作業的回應包括下列標頭。 回應也包含額外的標準 HTTP 標頭。 所有標準標頭都符合 HTTP/1.1 通訊協定規格

要求標頭 描述
x-ms-request-id 此標頭可唯一識別已提出的要求,並可用於對要求進行疑難排解。 如需詳細資訊,請參閱 針對 API 作業進行疑難排解
x-ms-version 指出用來執行要求的佇列儲存體版本。 對 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 作業的回應主體中所傳回的兩個資料項目:

  • 訊息識別碼,此為可識別佇列中訊息的不透明 GUID 值。

  • 有效的 pop receipt,此為可指出已擷取訊息的不透明值。

訊息識別碼是從之前的 Get Messages 作業所傳回。 Pop receipt 是由最近的 Get MessagesUpdate Message 作業所傳回。 Delete Message若要讓作業成功,要求上指定的快顯收據必須符合 或 Update Message 作業所傳回的 Get Messages 快顯收據。

Pop receipt 會持續有效到發生下列其中一個事件為止:

  • 訊息到期。

  • 郵件是使用從 或 Update Message 收到的 Get Messages 最後一個快顯收據來刪除。

  • 不可見逾時會過期,而且訊息會由 Get Messages 要求取消佇列。 當不可見逾時過期時,訊息會再次顯示。 如果由另一個 Get Messages 要求擷取,則傳回的快顯收據可用來刪除或更新訊息。

  • 訊息會以新的可見度逾時來更新。 訊息更新時,會傳回新的快顯收據。

如果找不到具有相符快顯收據的訊息,服務會傳回錯誤碼 404 (找不到) 。 此錯誤發生在先前列出的案例中,快顯收據不再有效。

另請參閱

授權對 Azure 儲存體的要求
狀態和錯誤碼
佇列儲存體錯誤碼