Windows Azure表存储int字段增量

时间:2012-11-15 13:07:03

标签: azure azure-storage azure-table-storage

我考虑过Azure表存储的巨大改进。是否可以使用特定操作向表存储提交查询,例如“[value]增加实体字段[名称],其中[PartitionKey = somestingPK]和[RowKey = somethingRK]”?

@smarx会有这个功能吗?

3 个答案:

答案 0 :(得分:5)

您可以使用启用了ETAG跟踪的表或页面存储来完成此操作。我使用此技术为Azure表中的每个条目创建标识值。这个想法是这样的:

  • 从页面Blob中读取值,启用ETAG跟踪

  • 增加检索值

  • POST检索到的值,如果存在ETAG冲突,请重新尝试重新执行整个操作。也许在这里使用指数退避算法来防止目标容器或分区过载。

答案 1 :(得分:1)

是的,这是可能的 - 但也许并不完全是你的想法。您正在寻找MERGE operation。要使用它,您必须知道您要定位的实体(即实体的分区键和rowkey)。您不必检索实体来更新它,但您必须根据REST调用或使用批处理功能(具有一些限制)专门针对每个实体。

答案 2 :(得分:0)

这类似于MySQL的UPDATE查询,目前无法在Azure表存储中执行。不确定是否可以在这种数据库类型中实现,因为您首先获取整个实体,更新所需的字段,然后存储回数据库。