Azure中的时间戳查询我真的被困在Azure表存储的查询过滤器中。我可以知道如何查询时间戳吗?当我单独查询分区键1005时,我得到了我不想要的完整表。当我添加带有时间戳的“和”条件时(尝试了多种格式,但它什么也没返回。下面的代码片段:varlowerlimit=DateTime.Today.AddDays(-52).ToString("yyyy-MM-dd");stringdateRangeFilter=TableQuery。CombineFilters(TableQuery.GenerateFilterCondition("PartitionKey",QueryComparisons.Equal,"1005"),TableOperators.And,TableQuery.GenerateFilterCondition("TimeStamp",QueryComparisons.GreaterThanOrEqual);i)能够在Microsoft.WindowsAzure.Storage版本4.0中使用时间戳.1.0。只是例子varquery=TableQuery.CombineFilters(TableQuery.GenerateFilterCondition("Level",QueryComparisons.Equal,"ERROR"),TableOperators.And,TableQuery.GenerateFilterConditionForDate("Timestamp",QueryComparisons.GreaterThanOrEqual,DateTimeOffset.Add20).Date));varquery2=TableQuery.CombineFilters(query,TableOperators.And,TableQuery.GenerateFilterConditionForDate("Timestamp",QueryComparisons.LessThanOrEqual,DateTimeOffset.Now));varexQuery=newTableQuery().Where(query2);CloudTableClienttableClient=_storageAccount.CreateCloudTableClient();CloudTable表=tableClient.GetTableReference(_tableName);varresults=table.ExecuteQuery(exQuery).Select(ent=>(T)ent).ToList();时间戳可用于Azure表存储中的查询行。但是,您需要使用TableQuery.GenerateFilterConditionForDate而不是TableQuery.GenerateFilterCondition。对于任何DateTime列,必须使用TableQuery.GenerateFilterConditionForDate。从您的代码示例中,将GenerateFilterCondition更改为Timestampfilter的GenerateFilterConditionForDate:varlowerlimit=DateTime.Today.AddDays(-52).ToString("yyyy-MM-dd");字符串dateRangeFilter=TableQuery.CombineFilters(TableQuery.GenerateFilterCondition("PartitionKey",QueryComparisons.Equal,"1005"),TableOperators.And,TableQuery.GenerateFilterConditionForDate("TimeStamp",QueryComparisons.GreaterThanOrEqual,lowerlimit));属性名称区分大小写。它应该是时间戳而不是时间戳。如果这是一个诊断表(例如WADLogsTable),我建议你将时间戳转换为分区键,然后查询。这将避免全表扫描,因为它是一个索引列。转换就像在刻度前添加一个“0”一样简单。varlowerlimitPartitionKey=DateTimeToPartitionKey(lowerlimit);//NowqueryPartitionKey>=lowerlimitPartitionKey...其中以上是C#学习教程:Azure中的时间戳查询分享,如果对大家有用还需要进一步了解C#希望大家多多关注教程—私有字符串DateTimeToPartitionKey(DateTimedt){return"0"+dt.Ticks;}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
