私は、範囲条件で同じIDのアイテムを削除する方法を探していました。 Table.DeleteItemのオーバーロードのいずれも、範囲条件(範囲のみ)をとらないようです。IDと範囲条件で行を削除しますか?
1時間以上経過したすべてのエントリを削除する方法はありますか?
一致するハッシュキー行をすべて取得して、特定の範囲キーで各行を手動で削除する必要はありません。
私は主に.NET SDKを使用していますが、ヒントは高く評価されています。
いくつかのバッチ書込みの例がありますが、全体的な範囲はありません。
private static void SingleTableBatchWrite()
{
Table productCatalog = Table.LoadTable(client, "ProductCatalog");
var batchWrite = productCatalog.CreateBatchWrite();
var book1 = new Document();
book1["Id"] = 902;
book1["Title"] = "My book1 in batch write using .NET Helper API";
book1["ISBN"] = "902-11-11-1111";
book1["Price"] = 10;
book1["ProductCategory"] = "Book";
book1["Authors"] = new List<string> { "Author 1", "Author 2", "Author 3" };
book1["Dimensions"] = "8.5x11x.5";
batchWrite.AddDocumentToPut(book1);
// Specify delete item using overload that takes PK.
batchWrite.AddKeyToDelete(12345);
Console.WriteLine("Performing batch write in SingleTableBatchWrite()");
batchWrite.Execute();
}
すべてのフィールドを返す必要はありません。取得する属性を指定できます。削除を実行したいので、ハッシュ/範囲のみを取得します。 – FlavorScape
範囲条件でクエリを実行できますが、削除できない理由を理解することは難しいです。索引付きメモリの線形システムではかなり簡単です。たぶん、彼らは削除する貴重な帯域幅単位を消費することを望んでいます。 – FlavorScape
@FlavorScape私は最初の段落であなたの最初のコメントをカバーしたと思います。ただし、ハッシュ/範囲を取得するだけでも、アイテムの全サイズを支払うことに注意してください。 –