Удаление записей из хранилища Azure WADSLogTable и WADWindowsEventLogsTable
Глядя программно сделать в.NET, как состояние вопроса. Какие библиотеки мне следует изучить? Ссылки на примеры кода очень ценятся.
Благодарю.
1 ответ
Решение
Вы можете обратиться к простому примеру, как показано ниже, он усекает таблицу на основе временной метки, а затем сканирует таблицу, чтобы получить данные.
public void TruncateDiagnostics(CloudStorageAccount storageAccount, DateTime keepThreshold)
{
CloudTableClient tableClient = storageAccount.CreateCloudTableClient();
CloudTable cloudTable = tableClient.GetTableReference("WADLogsTable");
TableQuery query = new TableQuery();
query.FilterString = string.Format("Timestamp lt datetime'{0:yyyy-MM-ddTHH:mm:ss}'", keepThreshold);
var items = cloudTable.ExecuteQuery(query).ToList();
Dictionary<string, TableBatchOperation> batches = new Dictionary<string, TableBatchOperation>();
foreach (var entity in items)
{
TableOperation tableOperation = TableOperation.Delete(entity);
if (!batches.ContainsKey(entity.PartitionKey))
{
batches.Add(entity.PartitionKey, new TableBatchOperation());
}
batches[entity.PartitionKey].Add(tableOperation);
}
foreach (var batch in batches.Values)
{
cloudTable.ExecuteBatch(batch);
}
}
Вы можете получить больше примеров из этой темы Windows Azure - Очистка таблицы WADLogsTable.