更改Microsoft Azure Blob的默认服务版本 - PHP

时间:2017-04-11 01:11:52

标签: php azure azure-blob-storage

$this->blobClient = ServicesBuilder::getInstance()
                                ->createBlobService($azureString);

$properties = $this->blobClient->getServiceProperties();

如何更改microsoft azure的默认服务版本?

目前定于2009-09-19。我想把它改成2012-02-12。

感谢。

2 个答案:

答案 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 

编辑:

Azure's documentation

  

如果对Blob服务的请求未指定x-ms-version标头,并且尚未使用Set Blob Service Properties设置服务的默认版本,则使用最早版本的Blob服务处理请求。但是,如果使用版本2009-09-19或更新版本执行Set Container ACL操作公开容器,则使用版本2009-09-19处理该请求。

因此,您可以指定x-ms-version标题以通过邮递员更改 DefaultServiceVersion

enter image description here