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

請求訊息結構

message DeleteRowRequest {
    required string table_name = 1;
    required bytes primary_key = 2; // Plainbuffer編碼為二進位。
    required Condition condition = 3;
    optional ReturnContent return_content = 4; 
}
名稱 類型 是否必選 描述
table_name string 資料表名稱。
primary_key bytes 刪除行的主鍵。

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

condition Condition 在資料操作前是否進行存在性檢查。取值範圍如下:
  • IGNORE(預設):表示不做行存在性檢查。

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

  • EXPECT_EXIST:表示期望行存在。

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

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

響應訊息結構

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個寫服務能力單元。