|
|
51CTO旗下网站
|
|
移动端

3.3.7 服务默认版本问题探讨

《Microsoft Azure 管理与开发(下册)平台服务PaaS》本书由世纪互联蓝云Microsoft Azure 开发技术支持团队的资深工程师们编写,主要阐述MicrosoftAzure PaaS 服务的开发应用,涉及计算服务、集成认证服务、数据存储服务、大数据服务等方面的内容。本节为大家介绍服务默认版本问题探讨。

作者:世纪互联蓝云公司来源:电子工业出版社|2018-07-13 12:29

3.3.7 服务默认版本问题探讨

在上一章中提到存储服务的可用版本。在使用存储客户端库时,此类方法在底层都依赖了某一版本的REST 的接口,这会保障客户端发起的请求按照指定的服务版本进行响应。但在某些情况下,比如通过浏览器匿名请求文件时,无法指定使用的存储服务版本,那么存储服务是按照那个版本进行响应呢? 事实上, 存储服务会基于服务端的DefaultServiceVersion 来响应此类请求,一般为了保持良好的兼容性,DefaultServiceVersion的默认值为2009-09-19,如图3.3.7-1 所示。

由于DefaultServiceVersion 的默认值为较低的版本,这会导致一些应用场景下产生非预期的需求。下列是几个典型的场景案例。

1. 通过浏览器访问Blob 音频、视频文件不支持点播

(1) 原因分析。

是否支持点播,取决于在请求Blob 文件的response 里面是否包含accept-ranges 这个头部属性。而这个属性是在2011-08-18 存储服务版本中加入的特性。当通过浏览器请求此类文件时,由于服务端按照DefaultServiceVersion 进行响应,导致不支持点播,即在任意时间点播放。

(2) 解决方案:

可以下载工具https://deVStorage.blob.core.chinacloudapi.cn/tools/AzureBlobUtility.zip或使用客户端存储库来将DefaultServiceVersion 的默认值修改为2011-08-18 或更高的版本。

2. Linux 系统中使用wget 命令下载Blob 文件时,无法进行续传下载

(1) 原因分析:

与上述类似,wget 默认发起的请求为设定x-ms-version,由于服务端按照DefaultServiceVersion 进行响应,导致response 里面不包含accept-ranges 这个头部属性,无法实现断点续传。

(2) 通过加参数--header "x-ms-version: 2015-04-05",指定存储服务版本。


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

网络渗透测试——保护网络安全的技术、工具和过程

网络和计算机安全问题已经成为政府、企业必须面对的现实问题。应对安全威胁的途径之一就是采用渗透测试的方法模拟黑客的攻击,找出网络和计...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊