Удаление записей из хранилища 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.

Другие вопросы по тегам