我正在尝试配置Semantinc Logging,使其退出过程以写入Azure。
我终于设法将事件写入表存储。我的问题是如何定义PartitionKey。
我刚刚插入了几个测试,PartitionKeys是:
2520107100599999999
2520107103599999999
我想要由我定义的分区(例如,按天划分)。
我怎么做?
这是我的实际配置
<windowsAzureTableSink name="Windows Azure Storage" instanceName="xxxxxxx" connectionString="xxxxxxx">
<sources>
<eventSource name="myCompany" level="Error"/>
</sources>
</windowsAzureTableSink>
最佳答案
这并不是您问题的真正答案,但我猜测您可能希望按天指定分区,因为您希望按日期查询此数据。假设这是正确的,您仍然可以使用当前的分区方案来实现。本质上,您看到的PartitionKey代表日期/时间值。这是它的派生方式:
DateTime.MaxValue.Ticks - DateTime.UtcNow.Ticks
PartitionKey值具有分钟级别的粒度。因此,如果您应用上述逻辑,则
2520107100599999999
本质上会转换为2014-02-05T08:59:00Z
。同样,我的假设可能是错误的,如果是这种情况,请告诉我,我将删除答案。以为我会发布它,因为日期/时间值可以从PartitionKey值派生出来并不是很明显。