すべてのプロダクト
Search
ドキュメントセンター

Tablestore:データの削除

最終更新日:Dec 28, 2024

Tablestore は、1 行のデータを削除できる DeleteRow 操作と、一度に複数の行のデータを削除できる BatchWriteRow 操作を提供します。

使用上の注意

削除されたデータは復元できません。注意して操作してください。

前提条件

1 行のデータの削除

DeleteRow 操作を呼び出して、単一のデータ行を削除できます。削除する行が存在しない場合、テーブルは変更されません。

API 操作

/// <summary>
/// 指定されたテーブル名とプライマリキーに基づいてデータの行を削除します。
/// </summary>
/// <param name="request">リクエストインスタンス</param>
/// <returns>レスポンスインスタンス</returns>
public DeleteRowResponse DeleteRow(DeleteRowRequest request);

/// <summary>
/// DeleteRow の非同期モード。
/// </summary>
public Task<DeleteRowResponse> DeleteRowAsync(DeleteRowRequest request);

パラメーター

パラメーター

説明

tableName

データテーブルの名前。

primaryKey

行のプライマリキー。

説明

指定するプライマリキー列の数と型は、テーブル内のプライマリキー列の実際の数と型と同じである必要があります。

condition

操作を実行するために満たす必要がある条件。行の存在条件、または列の値に基づく条件を指定できます。詳細については、条件付き更新の実行を参照してください。

次のサンプルコードは、テーブルから特定のデータ行を削除する方法の例を示しています。

// 削除する行のプライマリキー列の値を 0 と "abc" に設定します。
var primaryKey = new PrimaryKey();
primaryKey.Add("pk0", new ColumnValue(0));
primaryKey.Add("pk1", new ColumnValue("abc"));

try
{
    // リクエストを構築します。RowExistenceExpectation.EXPECT_EXIST は、指定された行が存在する場合にのみ削除操作が実行されることを示します。
    var deleteRowRequest = new DeleteRowRequest("SampleTable", new Condition(RowExistenceExpectation.EXPECT_EXIST), primaryKey);

    // DeleteRow 操作を呼び出してデータを削除します。
    otsClient.DeleteRow(deleteRowRequest);

    // 例外が返されない場合、操作は成功です。
    Console.WriteLine("テーブルの削除に成功しました。");
}
catch (Exception ex)
{
    // 例外が返された場合、操作は失敗です。例外を処理します。
    Console.WriteLine("テーブルの削除に失敗しました。例外: {0}", ex.Message);
}            

複数のデータ行を一括削除する

  1. 削除するデータのプライマリキー情報を照会する方法を選択します。

  2. 行のプライマリキー情報に基づいて、BatchWriteRow 操作を呼び出して、複数のデータ行を同時に削除します。詳細については、複数のデータ行を同時に書き込むを参照してください。

参照

Time to live (TTL) は、データの保存期間を指定します。データテーブルに TTL を設定して、期限切れのデータを自動的に削除できます。詳細については、データバージョンと TTL を参照してください。