gpt4 book ai didi

c# - Azure存储表逐行删除键

转载 作者:太空狗 更新时间:2023-10-29 20:54:03 25 4
gpt4 key购买 nike

我试图仅通过行键值从 azure 存储过滤器中删除行。但我没有看到删除操作有任何过载,我们可以仅使用 rowkey 进行过滤。是否有其他选项可以从 azure 存储表中删除具有特定行键的记录的行?

RemoveEntityByRowKey('123456');
public static void RemoveEntityByRowKey(string myRowKey)
{
try
{
CloudTable table = _tableClient.GetTableReference("MyAzureTable");
TableOperation delteOperation = TableOperation.Delete(myRowKey);
table.Execute(delteOperation);
}
catch (Exception ex)
{
LogError.LogErrorToAzure(ex);
throw;
}
}

最佳答案

为了删除实体,您需要 PartitionKeyRowKey ( Delete Entity REST API )。因此,您需要做的是首先获取具有匹配 RowKey 的实体。获取此实体后,您应该能够调用答案中提到的 TableOperation.Delete

但是,不建议通过RowKey获取实体,因为它会执行全表扫描。如果您的表大小很小,这可能不是问题,但如果您的表包含大量实体,则可能会出现问题。此外,RowKeyPartition 中是唯一的,即在表中只能有一个实体具有 PartitionKey/RowKey组合。换句话说,您可能在不同的分区中拥有具有相同RowKey的实体。因此,当您仅通过 RowKey 获取实体时,您可能会获取多个实体。您需要确保删除正确的实体。

关于c# - Azure存储表逐行删除键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37201006/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com