6
我一直在搜索和搜索一种方法来删除范围条件下具有相同ID的项目。 Table.DeleteItem的重载似乎没有一个范围条件,只有一个范围。按id和范围条件删除行?
是否有其他方法删除超过一个小时的所有条目?
我宁愿不必检索所有匹配的hashkey行,并按特定范围键手动删除每一行。
我主要使用.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 2013-03-04 19:10:20
我发现很难理解为什么你可以在范围条件上查询但不能删除。在索引内存的线性系统中,它似乎非常简单。也许他们希望你消耗宝贵的带宽单位来删除。 – FlavorScape 2013-03-04 23:55:56
@FlavorScape我想我在第一段中介绍了你的第一条评论;但请记住,即使仅获取哈希/范围,您仍然支付完整的项目大小。 – 2013-03-05 03:27:48