未从 Azure CloudTable 中删除的行
Rows not being Deleted from Azure CloudTable
我正在尝试从我的 Azure CloudTable 中删除行,但这些行并未被删除。代码执行无误,我得到了 HTTP 204 成功结果。我尝试了几种删除这些行的方法,但其中 none 实际上是在删除这些行。
var query = new TableQuery<SearchCompletedEntity>().Where(TableQuery.GenerateFilterCondition("PartitionKey"
, QueryComparisons.Equal
, requestId)); ;
var result = await _table.ExecuteQuerySegmentedAsync(query, null);
var batchDeleteOperation = new TableBatchOperation();
foreach (var row in result)
{ batchDeleteOperation.Delete(row); }
await _table.ExecuteBatchAsync(batchDeleteOperation);
根据 Gaurav Mantri 的示例,我发现如果我更改初始化 table 的方式,我就能够成功删除记录。我不确定以前的代码有什么具体问题,但想 post 进行更改,以便它可以帮助其他人。
以前的代码不允许删除记录
var storageAccount = CloudStorageAccount.Parse(configuration.ConnectionString);
var tableClient = storageAccount.CreateCloudTableClient();
更新了允许删除记录的代码
var storageCredentials = new StorageCredentials(configuration.AccountName, configuration.AccountKey);
var tableClient = new CloudTableClient(new Uri(configuration.SearchCompletedTableUrl), storageCredentials);
我正在尝试从我的 Azure CloudTable 中删除行,但这些行并未被删除。代码执行无误,我得到了 HTTP 204 成功结果。我尝试了几种删除这些行的方法,但其中 none 实际上是在删除这些行。
var query = new TableQuery<SearchCompletedEntity>().Where(TableQuery.GenerateFilterCondition("PartitionKey"
, QueryComparisons.Equal
, requestId)); ;
var result = await _table.ExecuteQuerySegmentedAsync(query, null);
var batchDeleteOperation = new TableBatchOperation();
foreach (var row in result)
{ batchDeleteOperation.Delete(row); }
await _table.ExecuteBatchAsync(batchDeleteOperation);
根据 Gaurav Mantri 的示例,我发现如果我更改初始化 table 的方式,我就能够成功删除记录。我不确定以前的代码有什么具体问题,但想 post 进行更改,以便它可以帮助其他人。
以前的代码不允许删除记录
var storageAccount = CloudStorageAccount.Parse(configuration.ConnectionString);
var tableClient = storageAccount.CreateCloudTableClient();
更新了允许删除记录的代码
var storageCredentials = new StorageCredentials(configuration.AccountName, configuration.AccountKey);
var tableClient = new CloudTableClient(new Uri(configuration.SearchCompletedTableUrl), storageCredentials);