刪除 Azure 儲存體 (實體)

Delete Entity 作業會刪除資料表中的現有實體。

要求

您可以依照下列方式建構 Delete Entity 要求。 建議使用 HTTPS。 將 myaccount 取代為儲存體帳戶的名稱、使用資料表的名稱 取代 myaccount,並將 myPartitionKeymyRowKey 取代為數據分割索引鍵和資料列索引鍵的名稱,以識別要刪除的實體。

方法 要求 URI HTTP 版本
DELETE https://myaccount.table.core.windows.net/mytable(PartitionKey='myPartitionKey', RowKey='myRowKey') HTTP/1.1

要更新之實體的位址可能會採用要求 URI 上的一些表單。 如需詳細資訊,請參閱 OData 通訊協定

模擬儲存體服務 URI

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

方法 要求 URI HTTP 版本
DELETE http://127.0.0.1:10002/devstoreaccount1/myentity(PartitionKey='myPartitionKey', RowKey='myRowKey') HTTP/1.1

儲存體模擬器中的資料表儲存體與 Azure 服務有數種方式不同。 如需詳細資訊,請參閱 儲存體模擬器與 Azure 儲存體服務之間的差異

URI 參數

您可以在要求 URI 上指定下列其他參數。

參數 描述
timeout 選擇性。 timeout 參數以秒為單位。 如需詳細資訊,請參閱 設定資料表儲存體作業的逾時

要求標頭

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

要求標頭 描述
Authorization 必要。 指定授權配置、帳戶名稱和簽章。 如需詳細資訊,請參閱授權對 Azure 儲存體提出要求
Datex-ms-date 必要。 指定要求的「國際標準時間」(UTC)。 如需詳細資訊,請參閱授權對 Azure 儲存體提出要求
x-ms-version 選擇性。 指定用於這個要求的作業版本。 如需詳細資訊,請參閱 Azure 儲存體服務的版本
If-Match 必要。 用戶端可以在要求上指定 ETag 實體的 ,以便與服務為了開放式平行存取而維護的 比較 ETag 。 只有在用戶端所傳送的 符合伺服器所維護的值時 ETag ,刪除作業才會繼續。 此比對表示實體自用戶端擷取後尚未修改。

若要強制執行無條件刪除,請將 If-Match 設為萬用字元 (*)。
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如果要求中沒有標頭,則此標頭不會出現在回應中。

回應本文

無。

授權

帳戶擁有者可以執行這項作業。 此外,具有共用存取簽章的任何人都可以執行這項作業。

備註

當您成功刪除實體時,實體會立即標示為要刪除,而且用戶端無法再存取。 實體稍後會在垃圾收集期間從資料表儲存體中移除。

實體會 ETag 針對刪除作業提供預設開放式平行存取。 此值 ETag 不透明,不應讀取或依賴。 在刪除作業發生之前,資料表儲存體會確認實體的目前 ETag 值與 ETag 標頭中刪除 If-Match 要求中包含的值相同。 如果值相同,資料表儲存體會判斷實體自擷取後尚未修改,而且刪除作業會繼續進行。

如果實體與 ETag 刪除要求指定的不同,則刪除作業會失敗,狀態碼為 412 (前置條件失敗) 。 此錯誤表示伺服器上的實體自擷取後已經變更。 若要解決這個錯誤,請重新擷取實體並重新發出要求。

若要強制執行無條件刪除作業,請將要求中的 If-Match 標頭值設為萬用字元 (*)。 將此值傳遞至作業會覆寫預設開放式平行存取,並忽略值中的任何 ETag 不符。

如果要求中遺漏 If-Match 標頭,服務會傳回狀態碼 400 (不正確的要求)。 以其他方式格式化的要求也可以傳回代碼 400。 如需詳細資訊,請參閱 資料表儲存體錯誤碼

任何可以授權和傳送 HTTP DELETE 要求的應用程式都可以刪除實體。 如需使用 HTTP DELETE 建構查詢的詳細資訊,請參閱 新增、修改和刪除實體

如需執行批次刪除作業的相關資訊,請參閱 執行實體群組交易

另請參閱

授權對 Azure 儲存體的要求
設定 OData 資料服務版本標頭
狀態和錯誤碼
資料表儲存體錯誤碼