你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

表存储功能摘要

Azure 表存储 REST API 符合 OData 协议规范,但存在一些差异,如以下部分所述。

表存储扩展

表存储通过以下方式扩展 的功能 OData

共享密钥、共享密钥精简版和 Azure Active Directory 授权

表存储要求对每个请求进行授权。 支持共享密钥、共享密钥精简版和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 方法,但它不会返回除三个固定架构属性以外的任何架构信息。 这三个属性是 PartitionKeyRowKeyTimestamp

负载格式

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 数据服务版本标头

另请参阅

表存储 REST API