gil*_*ly3 41 wcf azure azure-storage azure-table-storage
我在WADLogsTable中查看我的Azure日志,并希望过滤结果,但我对如何执行此操作毫无头绪.有一个文本框说:
"输入WCF数据服务筛选器以限制返回的实体"
"WCF数据服务过滤器"的语法是什么?以下为我提供InvalidValueType错误,指出"指定的值无效.":
Timestamp gt '2011-04-20T00:00'
Run Code Online (Sandbox Code Playgroud)
我甚至关闭了吗?某处有方便的语法参考吗?
kni*_*hor 72
此查询应采用以下格式:
Timestamp gt datetime'2011-04-20T00:00:00'
Run Code Online (Sandbox Code Playgroud)
记住把它datetime放在那里是重要的一点.
Gau*_*tri 12
添加到knightffhor的响应,您当然可以编写一个由Timstamp过滤的查询,但这不是推荐的方法,因为查询"Timestamp"属性将导致全表扫描.而是在PartitionKey属性上查询此表.我在这里从其他线程复制我的响应(我可以远程捕获Azure Web/Worker角色的性能计数器吗?):
"这里的一个关键是要了解如何有效地查询这个表(和其他诊断表),其中之一,我们希望从诊断表是为在一定的时间段获取数据的事情.我们的自然本能会是来查询时间戳属性此表中.但是,这是一个糟糕的设计选择,因为你在Azure的表中的数据是在PartitionKey和RowKey索引知道.查询任何其他属性将导致全表扫描,这将在你的表中创建一个问题含有大量的关于这些日志表data.The好处是,在某种程度上PartitionKey值表示被收集的数据点时,基本上PartitionKey通过使用DateTime.Ticks的高阶位(UTC)创建的日期/时间.所以,如果你是为在一定日期/时间范围获取数据,首先你需要计算的蜱为您范围(UTC),然后在它前面的前面加上一个"0",并在查询中使用这些值.如果你使用RES查询 在T API中,您可以使用如下语法:PartitionKey ge'0 <从UTC中的日期/时间刻度>'和PartitionKey le'0 <到UTC中的日期/时间>'."
我写了一个博客张贴有关如何编写针对表存储WCF查询,这可能对你有用:http://blog.cerebrata.com/specifying-filter-criteria-when-querying-azure-table-storage-using- REST的API /
此外,如果您正在寻找用于查看和管理诊断数据的第三方工具,我建议您查看我们的产品Azure诊断管理器:/ Products/AzureDiagnosticsManager.此工具专为表面和管理Windows Azure诊断数据而构建.
| 归档时间: |
|
| 查看次数: |
19680 次 |
| 最近记录: |