你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
表存储功能摘要
Azure 表存储 REST API 符合 OData 协议规范,但存在一些差异,如以下部分所述。
表存储扩展
表存储通过以下方式扩展 的功能 OData
。
共享密钥、共享密钥精简版和Microsoft Entra授权
表存储要求对每个请求进行授权。 支持共享密钥、共享密钥精简版和Microsoft Entra ID授权。 Microsoft Entra ID授权更安全,建议使用 REST API 对表存储发出请求。
有关授权请求的详细信息,请参阅 授权对 Azure 存储的请求。
查询分页的延续标记
针对表存储的查询一次最多可以返回 1,000 个项,并且最多可以运行 5 秒。 如果结果集包含的项超过 1,000 个,或者查询未在五秒内完成,则响应包括标头。 这些标头为开发人员提供了要使用的继续标记,以便在结果集中的下一项恢复查询。 可以为 查询表 操作或查询 实体 操作返回延续标记标头。
请注意分配给计划和处理查询请求的总时间为 30 秒,包括查询执行的 5 秒。
有关延续令牌的详细信息,请参阅 查询超时和分页。
主键系统属性
表存储中的每个实体都有两个关键属性: PartitionKey
属性和 RowKey
属性。 这些属性构成表的主键,并唯一标识表中的每个实体。
这两个属性都需要字符串值。 开发人员负责在插入新实体时为这些属性提供值,并将它们包含在实体的任何更新或删除操作中。
有关这些必需键属性的详细信息,请参阅 了解表存储数据模型。
Timestamp 系统属性
表存储中的每个实体都有一个 Timestamp
系统属性。 属性 Timestamp
是在 DateTime
服务器端维护的值,用于记录实体上次修改的时间。 表存储在内部使用 Timestamp
属性来提供乐观并发。
Timestamp
的值是单调递增的值,这意味着每次修改实体后,该实体的 Timestamp
都会递增。 不应在插入或更新操作中设置此属性(将忽略其值)。
有关 属性的详细信息 Timestamp
,请参阅 了解表存储数据模型。
批处理操作
表存储支持对同一表中属于同一分区组的实体的批处理事务,这意味着它们具有相同 PartitionKey
的值。 这样仅在一个原子事务中即可支持多个插入、更新、合并和删除操作。 表存储支持 OData 协议提供的一部分功能。
有关批处理操作的详细信息,请参阅 执行实体组事务。
表存储限制
表存储对 提供 OData
的功能有以下限制。
Credentials 属性
表存储不支持使用 DataServiceContext 类的 Credentials 属性来授权请求。 相反,必须通过向请求添加 Authorization
标头来授权针对表存储的请求。 有关详细信息,请参阅授权对 Azure 存储的请求。
属性类型
并非所有支持 OData
的属性类型都受支持。 有关支持的属性类型的列表,请参阅 了解表存储数据模型。
对链接的操作
表存储当前不支持表之间的链接。 链接是数据之间的关联关系。
对选择属性执行的操作
投影 是指查询一个或多个实体的属性子集。 在 LINQ) (语言集成查询中查询时,这类似于选择表的列或属性的子集。
投影可通过指定响应中只返回特定属性,来减少查询必须返回的数据量。 2011-08-18 版 Azure 存储支持投影。 有关详细信息,请参阅 查询实体、 针对表存储编写 LINQ 查询和 OData: ($select) 选择系统查询选项 。
LINQ 查询运算符
表存储支持以下 LINQ 查询运算符:
From
Where
Take
有关详细信息,请参阅 表存储支持的查询运算符。
LINQ 比较运算符
可以使用 LINQ 提供的比较运算符的子集。 有关详细信息,请参阅 查询表和实体 和 针对表存储编写 LINQ 查询。
GetMetadataURI 方法
可以使用 DataServiceContext 类的 GetMetadataURI 方法,但它不会返回除三个固定架构属性以外的任何架构信息。 这三个属性是 PartitionKey
、RowKey
和 Timestamp
。
负载格式
OData
支持以 JSON 格式发送有效负载。 自 API 版本 2013-08-15 起,表存储支持 OData
JSON 格式,数据 OData
服务版本设置为 3.0。 以前的版本不支持 JSON 格式。
2015-12-11 之前的所有版本都支持 Atom 有效负载。 版本 2015-12-11 及更高版本仅支持 JSON 有效负载。
注意
JSON 是建议的有效负载格式,也是版本 2015-12-11 及更高版本唯一支持的格式。
有关详细信息,请参阅 表存储操作的有效负载格式 和 设置 OData 数据服务版本标头。