全部產品
Search
文件中心

Tablestore:DeleteRow

更新時間:Jul 13, 2024

調用DeleteRow介面刪除一行資料。

請求訊息結構

message DeleteRowRequest {
    required string table_name = 1;
    required bytes primary_key = 2; // Plainbuffer編碼為二進位。
    required Condition condition = 3;
    optional ReturnContent return_content = 4;
    optional string transaction_id = 5;
}

名稱

類型

是否必選

描述

table_name

string

資料表名稱。

primary_key

bytes

刪除行的主鍵。

主鍵為Plainbuffer格式。關於Plainbuffer編碼的更多資訊,請參見Plainbuffer

condition

Condition

在資料操作前是否進行存在性檢查。取值範圍如下:

  • IGNORE(預設):表示不做行存在性檢查。

    當忽視該行是否存在時,無論該行實際是否存在,都會操作成功。

  • EXPECT_EXIST:表示期望行存在。

    當期待該行存在時,如果實際該行存在,則本次刪除操作會成功;如果實際該行不存在,則本次刪除操作會失敗,返回錯誤。

return_content

ReturnContent

寫入成功後返回的資料類型。目前僅支援返回主鍵,主要用於主鍵列自增功能中。

transaction_id

string

局部事務ID。當使用局部事務功能刪除資料時必須設定此參數。

響應訊息結構

message DeleteRowResponse {
    required ConsumedCapacity consumed = 1;
    optional bytes row = 2;
}

名稱

類型

描述

consumed

ConsumedCapacity

本次操作消耗的服務能力單元。更多資訊,請參見服務能力單元消耗

row

bytes

當設定了return_content後,返回的資料。如果未設定return_content或者沒有傳回值,此處為NULL。

返回的資料為Plainbuffer格式。關於Plainbuffer編碼的更多資訊,請參見Plainbuffer

使用SDK

您可以使用如下語言的SDK刪除單行資料。

服務能力單元消耗

  • 當刪除的行不存在時,根據指定的條件檢查不同,刪除資料消耗的服務能力單元不同。

    • 如果指定條件檢查為IGNORE,消耗寫服務能力單元的數值為該行主鍵資料大小除以4 KB向上取整。

    • 如果指定條件檢查為EXPECT_EXIST,則刪除該行失敗,且消耗1單位的寫CU和1單位的讀CU。

  • 當刪除的行存在時,根據指定的條件檢查不同,刪除資料消耗的服務能力單元不同。

    • 如果指定條件檢查為IGNORE,消耗寫服務能力單元的數值為該行主鍵資料大小除以4 KB向上取整。

    • 如果指定條件檢查為EXPECT_EXIST,除了消耗該行主鍵資料大小除以4 KB向上取整的寫CU,還需消耗該行主鍵資料大小除以4 KB向上取整的讀CU。

    關於資料大小的計算請參見產品定價

  • 如果請求逾時,結果未定義,則服務能力單元有可能被消耗,也可能未被消耗。

  • 如果返回內部錯誤(HTTP狀態代碼:5XX),則此次操作不消耗服務能力單元;其他錯誤情況消耗1個寫服務能力單元。