你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure 存储支持多个版本。 若要针对存储服务发出请求,必须指定要用于该操作的版本,除非请求是匿名的。
截至2026年7月20日,Azure 存储服务的最新完全部署版本为2026-04-06。
2026-06-06 是全球启用的,只有少数租户在 useast2euap 和 uscentraleuap 中例外。
2026-10-06 在大多数地区都已启用,并且是最新测试版SDK的默认设置。
SDK的最新GA版本默认为 2026-06-06。
如果下表显示某区域启用了 , x-ms-version 那么之前所有区域 x-ms-versions 也都已启用。 尝试使用未在存储帐户区域中完全部署的服务版本可能会生成 x-ms-version 不匹配错误。
| Region | x-ms-version |
|---|---|
| asiaeast | 2026-10-06 |
| asiasoutheast | 2026-10-06 |
| australiac | 2026-10-06 |
| australiac2 | 2026-10-06 |
| australiaeast | 2026-06-06 |
| australiasoutheast | 2026-10-06 |
| austriae | 2026-10-06 |
| belgiumc | 2026-10-06 |
| brazilse | 2026-10-06 |
| brazilsouth | 2026-10-06 |
| canadacentral | 2026-10-06 |
| canadaeast | 2026-10-06 |
| chilec | 2026-10-06 |
| denmarke | 2026-10-06 |
| europenorth | 2026-10-06 |
| europewest | 2026-06-06 |
| EUSSLV | 2026-10-06 |
| francec | 2026-10-06 |
| frances | 2026-10-06 |
| germanyn | 2026-10-06 |
| germanywc | 2026-10-06 |
| indiacentral | 2026-10-06 |
| 印度 | 2026-10-06 |
| indiasouth | 2026-10-06 |
| indiawest | 2026-10-06 |
| indonesiac | 2026-10-06 |
| israelc | 2026-10-06 |
| israelnw | 2026-10-06 |
| italyn | 2026-10-06 |
| japaneast | 2026-10-06 |
| japanwest | 2026-10-06 |
| jioinc | 2026-10-06 |
| jioinw | 2026-10-06 |
| koreacentral | 2026-10-06 |
| koreasouth | 2026-10-06 |
| malaysias | 2026-10-06 |
| malaysiaw | 2026-10-06 |
| mexicoc | 2026-10-06 |
| newzealandn | 2026-10-06 |
| norwaye | 2026-10-06 |
| norwayw | 2026-10-06 |
| polandc | 2026-10-06 |
| qatarc | 2026-10-06 |
| southafrican | 2026-10-06 |
| southafricaw | 2026-10-06 |
| spainc | 2026-10-06 |
| swedenc | 2026-10-06 |
| swedens | 2026-10-06 |
| switzerlandn | 2026-10-06 |
| switzerlandw | 2026-10-06 |
| taiwann | 2026-10-06 |
| taiwannw | 2026-10-06 |
| uaec | 2026-10-06 |
| uaen | 2026-10-06 |
| uksouth | 2026-10-06 |
| ukwest | 2026-10-06 |
| uscentral | 2026-06-06 |
| uscentraleuap | 2026-04-06 |
| useast | 2026-10-06 |
| useast2 | 2026-06-06 |
| useast2euap | 2026-04-06 |
| 美国东3 | 2026-10-06 |
| usnorth | 2026-10-06 |
| 美国东北5 | 2026-10-06 |
| ussouth | 2026-10-06 |
| ussouth2 | 2026-10-06 |
| ussoutheast | 2026-10-06 |
| ussoutheast3 | 2026-10-06 |
| ussoutheast5 | 2026-10-06 |
| ussouthwest | 2026-10-06 |
| uswest | 2026-10-06 |
| uswest2 | 2026-10-06 |
| uswest3 | 2026-10-06 |
| uswestcentral | 2026-10-06 |
可以在下表的更改日志中找到 Azure 存储数据平面 SDK 使用的默认值 x-ms-version :
数据层面存储 SDK 不会对其他官方软件包源执行 GA 版本,直到相关版本的默认值 x-ms-version 在所有区域完全推出。 因此,官方包管理器提供的最新 GA SDK 版本可以在任何区域安全使用。
有关所有其他受支持版本的列表以及有关使用每个版本的信息,请参阅 以前的 Azure 存储服务版本。
2026-10-06 服务版本包含以下功能:
- 通过新增
marker和maxresults查询参数支持分页到文件列表范围。 -
x-ms-content-crc64如果x-ms-source-content-md5请求头针对以下 API 专门使用,响应头部将返回:
在请求中指定服务版本
如何指定要用于请求的存储服务版本与请求的授权方式相关。 以下各节介绍了授权选项以及如何为每个选项指定服务版本。
使用来自 Microsoft Entra的 OAuth 2.0 令牌的请求:若要使用 Microsoft Entra ID 授权请求,请使用服务版本 2017-11-09 或更高版本在请求上传递
x-ms-version标头。 有关详细信息,请参阅 使用 OAuth 令牌 调用存储作,使用 Microsoft Entra ID授权。使用共享密钥或共享密钥 Lite 的请求:若要使用共享密钥或共享密钥 Lite 授权请求,请在请求中传递
x-ms-version标头。 使用 Azure Blob 存储时,可以通过调用 Set Blob Service Properties 来指定所有请求的默认版本。使用共享访问签名(SAS)的请求:可以在共享访问签名上指定两个版本控制选项。 可选的
api-version标头指示用于执行 API作的服务版本。 必需的SignedVersion (sv)参数指定用于授权使用 SAS 发出的请求的服务版本。 如果未指定api-version标头,则SignedVersion (sv)参数的值也指示用于执行 API作的版本。使用匿名访问的请求:对 Blob 存储使用匿名访问时,不会传入任何版本。 下一节介绍了确定要用于请求的版本的启发式。
使用 Microsoft Entra ID、共享密钥或共享密钥 Lite 授权请求
若要使用 Microsoft Entra ID、共享密钥或共享密钥 Lite 授权请求,请在请求上指定 x-ms-version 标头。
x-ms-version 请求标头值必须采用 YYYY-MM-DD 格式指定。 例如:
Request Headers:
x-ms-version: 2020-04-08
以下规则描述如何评估这些请求,以确定用于处理请求的版本。
如果请求具有有效的
x-ms-version标头,则存储服务使用指定的版本。 对不使用共享访问签名的 Azure 表存储和 Azure 队列存储的所有请求都必须指定x-ms-version标头。 所有不使用共享访问签名的 Blob 存储请求都必须指定标头,x-ms-version除非设置了默认版本,如下一段所述。如果对 Blob 存储的请求不包含
x-ms-version标头,但帐户所有者使用 “设置 Blob 服务属性 ”作设置了默认版本,则指定的默认版本将用作请求的版本。
使用共享访问签名授权请求
使用版本 2014-02-14 或更高版本生成的共享访问签名(SAS)支持两种版本控制选项:
api-version查询参数定义用于处理使用 SAS 发出的请求的 REST 协议版本。SignedVersion (sv)查询参数定义用于授权的 SAS 版本。
当客户端使用 SAS 发出请求时,SignedVersion 查询参数用于授权。 授权参数(如 si、sr、sp、sig、st、se、tn、spk、srk、epk和 erk)均使用指定版本进行解释。
REST 协议参数(如 rscc、 、 rscdrscerscl、 和 rsct )通过使用参数标头中提供的api-version版本来实施。 如果未指定标头, api-version 则使用 for SignedVersion 提供的服务版本。
api-version 参数不是授权标头字符串登录的一部分,如 创建服务 SAS中所述。
下表说明了服务用于授权的版本控制方案,并将 SignedVersion 参数设置为版本 2014-02-14 或更高版本时调用 REST 协议。
| api-version 参数的值 | 用于授权的版本 | 用于协议行为的版本 |
|---|---|---|
| 未指定 |
sv 参数中指定的版本 |
sv 参数中指定的版本 |
格式为 XXXX-XX-XX 的任何有效存储服务版本 |
sv 参数中指定的版本 |
有效的存储服务版本 XXXX-XX-XX |
示例 1
以下示例请求使用 和不带参数调用 sv=2015-04-05api-version
https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=list&sv=2015-04-05&si=readpolicy&sig=a39 %2BYozJhGp6miujGymjRpN8tsrQfLo9Z3i8IRyIpnQ%3d
在这种情况下,服务使用版本 2015-04-05 对请求进行身份验证和授权,并使用版本 2015-04-05 运行该操作。
示例 2
以下示例请求使用 和 参数调用 sv=2015-04-05api-version。
https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=list&sv=2015-04-05&si=readpolicy&sig=a39 %2BYozJhGp6miujGymjRpN8tsrQfLo9Z3i8IRyIpnQ%3d&api-version=2012-02-12
在这里,服务使用版本 2015-04-05 授权请求,并使用版本 2012-02-12 运行该操作。
Note
.NET 存储客户端库始终将 REST 协议版本(在参数中 api-version )设置为基本版本。
通过匿名访问的请求
通过匿名访问发出的请求的处理方式不同,具体取决于它们针对的存储帐户的类型。
常规用途存储帐户
如果对常规用途存储帐户的匿名请求未指定 x-ms-version 标头,并且未使用 设置 Blob 服务属性设置服务的默认版本,则服务将使用尽可能早的版本来处理请求。 如果容器是使用版本 2009-09-19 或更高版本的 Set Container ACL 作公开的,则使用版本 2009-09-19 处理请求。
对于 Blob 存储帐户
如果对 Blob 存储帐户的匿名请求未指定 x-ms-version 标头,并且未使用 “设置 Blob 服务属性”设置服务的默认版本,则服务将使用尽可能早的版本来处理请求。 对于 Blob 存储帐户,最早的版本为 2014-02-14。
已知问题
本部分详细介绍了 Azure 存储 REST API 的已知问题。
InvalidHeaderValue 错误消息
在极少数情况下,进行直接 REST API 调用的应用程序可能会收到 InvalidHeaderValue 错误消息。 此错误类似于以下示例:
HTTP/1.1 400 The value for one of the HTTP headers is not in the correct format.
Content-Length: 328
Content-Type: application/xml
Server: Microsoft-HTTPAPI/2.0
x-ms-request-id: <REMOVED>
Date: Fri, 19 May 2023 17:10:33 GMT
<?xml version="1.0" encoding="utf-8"?><Error><Code>InvalidHeaderValue</Code><Message>The value for one of the HTTP headers is not in the correct format.
RequestId:<REMOVED>
Time:2023-05-19T17:10:34.2972651Z</Message><HeaderName>x-ms-version</HeaderName><HeaderValue>yyyy-mm-dd</HeaderValue></Error>
建议使用早期的 REST API 版本尝试解决此问题。 如果问题持续存在,或者建议不可行,请 提交支持工单 讨论进一步方案。