2016-01-12 2 views

ответ

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 - Cleaning Up The WADLogsTable.

+0

Спасибо. Мой вопрос, кажется, дублирует ссылку, которую вы опубликовали. Мой первоначальный поиск до публикации вопроса не ударил его. Особенно поиск WADSLogTable. Добавьте его как тег для другого вопроса и закройте мой. Еще раз спасибо. – Fung