批量更改 Azure blob 存储层

Vic*_*r S 5 azure azure-storage

我有数千个带有给定后缀的 blob,我想批量分配给新层(热存档)。我知道可以手动更改门户上的层或通过指向特定 blob 的 REST 请求。有没有办法用通配符或类似的东西批量设置层?

Han*_*nel 8

它真的就像3行一样简单。

#Get stroage account 
$straccount = Get-AzureRmStorageAccount -Name xxxxxx -ResourceGroupName xxxxxxxxxxxxx

#Get all the blobs in container
$blobs = Get-AzureStorageBlob -Container test -Context $straccount.Context

#Set tier of all the blobs to Archive
$blobs.icloudblob.setstandardblobtier("Archive") 
Run Code Online (Sandbox Code Playgroud)

只要确保容器只有块 blob,否则你会得到错误。最后我检查了存档层仅由块 blob 支持。

https://docs.microsoft.com/en-us/dotnet/api/microsoft.windowsazure.storage.blob.cloudblockblob?view=azure-dotnet

希望这可以帮助。

  • 另外,我真的不同意将这个(或任何人不知道的任何编程解决方案)称为“真的很简单……”需要了解具有 100 多个方法的 `icloudblob` 对象。并且需要知道这是大量网络事务(如果您有数千或数百万个 blob,则可能会长期运行)。 (2认同)