在 Azure 表存储中使用时间戳作为 RowKey 是否合理?

Sam*_*eer 3 azure-table-storage

对于我的架构,我可以选择一个好的分区键,但不幸的是,我在分区内没有任何唯一的东西。因此,我决定按以下方式使用 DateTime 属性作为 RowKey:

RowKey = DateTime.UtcNow.ToString("yyyyMMddHHmmssfffffff");

这种用途合理吗?

Zha*_*oft 6

您可以使用 DateTime 作为RowKey,这是一个合理的设计。您还可以考虑使用反向刻度,它按相反的日期和时间顺序排序,这样您就可以轻松检索PartitionKeystring.Format("{0:D19}", DateTime.MaxValue.Ticks - DateTime.UtcNow.Ticks)最近的n 个实体。

要查看更多详细信息,可以查看Azure 存储表设计指南中的“日志尾部模式” 。