我正在尝试配置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值派生出来并不是很明显。

10-06 05:43