Я создал облачную службу, которая берет данные из таблицы WadWindowsEventLogs Azure Storage и возвращает из нее файл csv. Но когда я создаю условие фильтра для запроса таблицы для даты, он возвращает пустой файл csv без каких-либо строк. Моя функция возвращает строку вGenerateFilterConditionOnDate не работает
public string retrieveWADWindowsEventLogsTable()
{
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(
CloudConfigurationManager.GetSetting("DefaultConnectionString"));
CsvExport myExport = new CsvExport();
//Creating a table client
CloudTableClient tableClient = storageAccount.CreateCloudTableClient();
//getting reference to the desired table
CloudTable table = tableClient.GetTableReference("WADWindowsEventLogsTable");
TableQuery<WADWindowsEventLogsTableEntity> query = new TableQuery<WADWindowsEventLogsTableEntity>().Where(TableQuery.GenerateFilterConditionForDate("TimeStamp", QueryComparisons.GreaterThanOrEqual, new DateTime(2016,02,01)));
//For each row in table, creating the corresponding entry in CSV file
foreach (WADWindowsEventLogsTableEntity entity in table.ExecuteQuery(query))
{
//some code
}
var exp = myExport.Export();
return exp;
}
После этого у меня есть еще одна функция, чтобы преобразовать эту строку в файл CSV, который необходим в контексте этого вопроса я не думаю. Тогда мой класс сущности является
public class WADWindowsEventLogsTableEntity : TableEntity
{
public WADWindowsEventLogsTableEntity()
{
}
//public string PartitionKey { get; set; }
//public string RowKey { get; set; }
public DateTime TimeStamp { get; set; }
public string Channel { get; set; }
public string DeploymentId { get; set; }
public string Description { get; set; }
public Int32 EventId { get; set; }
public Int64 EventTickCount { get; set; }
public Int32 Level { get; set; }
public Int32 Opcode { get; set; }
public Int32 Pid { get; set; }
public DateTime PreciseTimeStamp { get; set; }
public string ProviderGuid { get; set; }
public string ProviderName { get; set; }
public string RawXml { get; set; }
public string Role { get; set; }
public string RoleInstance { get; set; }
public string RowIndex { get; set; }
public DateTime TIMESTAMP { get; set; }
public Int32 Task { get; set; }
public Int32 Tid { get; set; }
}
Любая помощь приветствуется
Почему вы запрашиваете свойство 'Timestamp'? Как упоминалось в моем комментарии в вашем другом вопросе (http://stackoverflow.com/questions/35316006/getting-latest-logs-from-azure-diagnostics), просмотрите мой пост в блоге. Используйте 'PartitionKey' для запроса. –
@GauravMantri требование таково, что я должен получить журналы после определенного времени. И теперь ваш сайт заблокирован прокси-сервером компании, поэтому я больше не могу его открывать. –