TableBatchOperation是否保证所有实体都具有相同的Timestamp字段值?

时间:2014-11-15 02:16:05

标签: azure azure-table-storage

我正在向Azure CloudTable添加多个条目:

TableBatchOperation tableBatchOperation = new TableBatchOperation();
foreach (var entity in entities)
{
    tableBatchOperation.InsertOrReplace(entity);
}
table.ExecuteBatch(tableBatchOperation);

是否可以保证在此批处理操作中插入/更新的所有条目都具有相同的Timestamp属性值?

1 个答案:

答案 0 :(得分:2)

简短回答是:插入同一批次的实体可以有不同的时间戳。

这取决于批量大小,我猜表服务的当前负载。 我写了一个简单的单元测试来检查,你可以找到它here并在一批100个项目中(每个都有30KB的字符串属性)我可以看到几个不同的时间戳(滴答):

635516539271235769
635516539271245771
635516539271225762

但是对于较小的批次,时间戳有时是相同的。

差异实际上很小(滴答)但是我肯定不会依赖于时间戳,因为它是内部的Azure Table Service属性,并且每次更新都会更改。

我宁愿将另一个属性添加到具有批处理时间戳的实体。