微软文件共享服务器 版本控制,Azure 存储 服务的版本控制

您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn.

Azure 存储 服务的版本控制

07/06/2021

本文内容

Microsoft Azure 存储服务支持多个版本。 若要针对存储服务发出请求,则除非请求是匿名的,否则必须指定要用于该操作的版本。

Azure 存储服务的当前版本为 2020-10-02,建议尽可能使用该版本。 有关所有其他受支持版本的列表,以及有关使用每个版本的信息,请参阅上一Azure 存储服务版本。

版本 2020-10-02

2020-10-02 服务版本包括以下功能:

删除具有版本的根 Blob 的能力。 有关详细信息,请参阅删除 Blob。

File-Id列表目录和文件 的响应正文中无条件 返回该名称。

Directory-Id列表目录和文件 的响应正文 中返回此列。

在请求中指定服务版本

如何指定用于请求的存储服务版本与请求的授权方法相关。 以下部分介绍授权选项以及如何为每种选项指定服务版本:

使用 OAuth 2.0 令牌从 Azure Active Directory (Azure AD) 。 若要使用 Azure AD 授权请求,请传递服务版本为 x-ms-version 2017-11-09 或更高版本的请求上的 标头。 有关详细信息,请参阅使用 OAuth 令牌调用存储操作中的 Authorize with Azure Active Directory。

使用共享密钥或共享密钥 Lite 的请求。 若要使用共享密钥/共享密钥 Lite 授权请求,请对 x-ms-version 请求传递 标头。 对于 Blob 服务,可以通过调用"设置 Blob 服务属性"来指定所有 请求的默认版本。

使用共享访问签名请求 (SAS) 。 你可以根据共享访问签名指定两个版本化选项。 可选 api-version 标头指示用于执行 API 操作的服务版本。 必需 SignedVersion (sv) 参数指定用于授权使用 SAS 进行的请求的服务版本。 如果未指定 api-version 标头,则 SignedVersion (sv) 参数的值还指示用于执行 API 操作的版本。

使用匿名访问的请求。 如果对 Blob 服务进行匿名访问,则不传入任何版本;下面说明了用于该请求的版本的试探方法。

使用共享密钥Azure AD共享密钥 Lite 授权的请求

若要使用共享密钥Azure AD共享密钥 Lite 授权请求,请指定 x-ms-version 请求上的 标头。 必须以 YYYY-MM-DD 的格式来指定 x-ms-version 请求标头值。 例如:

Request Headers:

x-ms-version: 2020-04-08

以下规则指示如何评估这些请求以确定要用于处理请求的版本。

如果请求具有有效的 x-ms-version 标头,则存储服务使用指定的版本。 对于不使用共享访问签名的表和队列服务的所有请求,必须指定 x-ms-version 标头。 Blob 服务的所有请求如果未使用共享访问签名,则必须指定 x-ms-version 标头,除非已设置默认版本,如下所述。

如果对 Blob 服务的请求没有标头,但帐户所有者已使用"设置 Blob 服务属性"设置默认版本,则指定的默认版本将用作请求 x-ms-version 的版本。

使用共享访问签名授权的请求

使用 (版本 2014-02-14) 生成的 SAS 证书的共享访问签名支持两个版本控制选项:

api-version 查询参数可定义 REST 协议版本,使用该版本可处理通过 SAS 发出的请求。

SignedVersion (sv)查询参数定义用于授权的 SAS 版本。

SignedVersion当客户端使用 SAS 提出请求时,查询参数用于授权。 授权参数(如 si sr sp sig 、、、、 和 st se tn spk )都 srk epk erk 使用指定版本进行解释。

REST 协议参数(例如 rscc、rscd、rsce、rscl 和 rsct)使用 api-version 参数标头中提供的版本来实施。 如果未指定 api-version 标头,则使用为 SignedVersion 提供的服务版本。

api-version参数不是授权标头中字符串登录的一部分,如创建服务SAS 中所述。

下表说明了当 参数设置为版本 2014-02-14 或更高版本时,服务用于授权和调用 REST 协议的版本控制 SignedVersion 方案。

api-version 参数的值

用于授权的版本

用于协议行为的版本

未指定

sv 参数中指定的版本

sv 参数中指定的版本

任何有效的存储服务版本,格式为 XXXX-XX-XX

sv 参数中指定的版本

有效的存储服务版本 XXXX-XX-XX

示例 1

以下示例请求使用 和 ( 不带 参数)调用 List sv=2015-04-05 api-version Blob。

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-05 api-version Blob。

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 执行该操作。

备注

.NET 存储客户端库会始终将 REST 协议版本(在 api-version 参数中)设为所基于的版本。

通过匿名访问的请求

通过匿名访问进行的请求的处理方式不同,具体取决于针对其发送的存储帐户的类型。

对于常规用途存储帐户

如果对常规用途存储帐户的匿名请求未指定 标头,并且尚未使用设置 Blob 服务属性设置服务的默认版本,则服务将使用最早版本处理 x-ms-version 请求。 但是,如果使用版本 2009-09-19 或更高版本执行设置容器 ACL 操作公开容器,则使用版本 2009-09-19 处理请求。

对于 Blob 存储帐户

如果对 Blob 存储帐户的匿名请求未指定 标头,并且服务的默认版本尚未使用"设置 Blob 服务属性"进行设置,则服务将使用最早版本处理 x-ms-version 请求。 对于 Blob 存储帐户,最早可能的版本为 2014-02-14。

另请参阅

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值