Azure诊断存储表中的PartitionKey和RowKey是什么?

时间:2015-09-22 12:23:08

标签: azure-diagnostics

将诊断日志写入Azure存储表时,PartitionKey和RowKey是什么?它们如何与日志事件相关?

PartitionKey: 2015091808
RowKey: 11e55de3-399c-1df2-93fe-000d3a804b27

连续的RowKeys在第一部分和最后部分看起来非常相似。

11e56a9d-1fc4-0094-93ff-000d3a70bf68
11e56a9d-1fc4-0095-93ff-000d3a70bf68
11e56a9d-1fc4-0096-93ff-000d3a70bf68

11e56a9d-2664-2556-93ff-000d3a70bf68
11e56a9d-2664-2557-93ff-000d3a70bf68
11e56a9d-2664-2558-93ff-000d3a70bf68
11e56a9d-2664-2559-93ff-000d3a70bf68
11e56a9d-2664-255a-93ff-000d3a70bf68

1 个答案:

答案 0 :(得分:0)

PartitionKey和RowKey与您的事件日志无关......

它们是表存储可以进行性能查询的。 Timestamp / EventTickCount在某种程度上也很重要,但如果您可以通过PartitionKey + RowKey进行查询,则不希望通过Timestamp进行查询。

一致认为PartitionKey的生成方式来自DateTime.Ticks:

06353139336

你会注意到这里的值往往略微偏离Timestamp中的值。

在我的脑海中,我相信RowKey只是一个任意索引值,以确保分区中的所有条目都具有唯一键。