查询azure表以获取分区的最后插入数据

Pra*_*rya 2 azure azure-storage azure-table-storage

我有一个azure存储表,存储从多个源更新的状态.我有分区键作为源ID(每个源都是唯一的).现在,对于任何给定的源ID,我想访问上次更新的状态.我可以通过按时间戳按降序对分区中的结果进行排序并获取第一条记录来实现这一点,但它似乎并不是非常高效.每个分区可以有超过1000条记录,排序似乎不是最好的方法.

有没有其他方法可以以有效的方式实现同​​样的目标?分区中的实体是否已按某些行键排序,我可以利用它?

Fab*_*ino 6

在RowKey中插入一个随时间"减少"的值.我用这个:
myentity.RowKey = String.Format("{0:D19}", DateTime.MaxValue.Ticks - DateTime.UtcNow.Ticks);

现在,您可以在主键上执行带有where条件的select,然后执行Take(1).这将为您提供最新的项目.

  • 快速解决方案:最后添加GUID.myentity.RowKey = String.Format("{0:D19}",DateTime.MaxValue.Ticks - DateTime.UtcNow.Ticks)+"_"+ Guid.NewGuid().ToString(); (2认同)