Azure Table 服务:实体操作、分页与序列化详解
1. 实体组事务规则
在处理实体组事务时,需要遵循以下规则:
- 事务组中的所有实体必须具有相同的PartitionKey值。
- 同一组事务中存在多个PartitionKey值会抛出错误。
- 一个实体在实体组事务中只能出现一次,并且只能执行一个操作。
2. 使用延续令牌和服务器端分页
Azure Table 服务使用分区服务器来管理表中存储的实体。一个分区服务器管理表中具有相同PartitionKey值的所有实体,不同分区服务器可能管理具有不同PartitionKey值的实体。这种实体在分区服务器之间的分布通常对 Table 服务的客户端是透明的,此分区方案是 Table 服务可扩展性的核心。
当处理查询时,Table 服务将查询提交给第一个管理满足PartitionKey过滤条件的实体的分区服务器(按PartitionKey排序),然后返回该分区服务器检索到的最多 1000 个实体的第一页。如果有额外结果,Table 服务会在响应中插入两个标头:x-ms-continuation-NextPartitionKey和x-ms-continuation-NextRowKey(可能为空),这些标头构成了查询的延续令牌。
可以通过将延续令牌作为请求标头添加到查询中来逐页检索任何剩余结果