調用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 | 是 | 在資料操作前是否進行存在性檢查。取值範圍如下:
| |
return_content | 否 | 寫入成功後返回的資料類型。目前僅支援返回主鍵,主要用於主鍵列自增功能中。 | |
transaction_id | string | 否 | 局部事務ID。當使用局部事務功能刪除資料時必須設定此參數。 |
響應訊息結構
message DeleteRowResponse {
required ConsumedCapacity consumed = 1;
optional bytes row = 2;
}
名稱 | 類型 | 描述 |
consumed | 本次操作消耗的服務能力單元。更多資訊,請參見服務能力單元消耗。 | |
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個寫服務能力單元。