$this->blobClient = ServicesBuilder::getInstance()
->createBlobService($azureString);
$properties = $this->blobClient->getServiceProperties();
如何更改microsoft azure的默认服务版本?
目前定于2009-09-19。我想把它改成2012-02-12。
感谢。
答案 0 :(得分:2)
为了扩展Aaron Chen的答案,您实际上可以永久set the default service version,这样您就不必提供 x-ms-version 请求标头来获取公众的新功能请求(例如“ Accept-Ranges:bytes ”标头)。但这有点麻烦,因为几乎没有SDK实际上支持设置此属性。对我有用的是使用以下PowerShell代码。它仅适用于 (其他平台的DotNetCore-Azure模块也不支持),但如果您没有,则可以使用Azure门户中的 Cloud Shell 访问Windows环境。
在 Cloud Shell 中:
PS Azure:\> $ctx = New-AzureStorageContext -StorageAccountName <account-name> -StorageAccountKey <key>
Azure:\
PS Azure:\> Update-AzureStorageServiceProperty -ServiceType Blob -DefaultServiceVersion 2017-07-29 -Context $ctx
这将为所有不提供x-ms的请求将存储帐户服务的默认版本设置为 2017-07-29 (撰写本文时的最新版本) -version头。见list for an overview of the different versions available。
在Windows PowerShell环境中,您还必须安装Azure模块:
作为管理员:
Install-Module -Name AzureRM -AllowClobber
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
作为用户
Import-Module Azure.Storage
$ctx = New-AzureStorageContext -StorageAccountName <account-name> -StorageAccountKey <key>
Update-AzureStorageServiceProperty -ServiceType Blob -DefaultServiceVersion 2017-07-29 -Context $ctx
答案 1 :(得分:0)
你的意思是STORAGE_API_LATEST_VERSION
?它设置为2015-04-05
在最新的SDK版本(v 0.14.0)中。
但是,您可以在以下位置进行更改:
vendor\microsoft\azure-storage\src\Common\Internal\Resources.php
如果对Blob服务的请求未指定
x-ms-version
标头,并且尚未使用Set Blob Service Properties设置服务的默认版本,则使用最早版本的Blob服务处理请求。但是,如果使用版本2009-09-19或更新版本执行Set Container ACL操作公开容器,则使用版本2009-09-19处理该请求。
因此,您可以指定x-ms-version
标题以通过邮递员更改 DefaultServiceVersion 。