【发布时间】:2019-05-16 22:18:32
【问题描述】:
我有数千个带有给定后缀的 blob,我想批量分配给一个新层(热归档)。我知道可以手动更改门户上的层或通过指向特定 blob 的 REST 请求。有没有办法使用通配符或类似的东西批量设置层?
【问题讨论】:
标签: azure azure-storage
我有数千个带有给定后缀的 blob,我想批量分配给一个新层(热归档)。我知道可以手动更改门户上的层或通过指向特定 blob 的 REST 请求。有没有办法使用通配符或类似的东西批量设置层?
【问题讨论】:
标签: azure azure-storage
真的很简单,只有 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")
只要确保容器只有块 blob,否则会出错。最后我检查了存档层仅由块 blob 支持。
希望这会有所帮助。
【讨论】:
$blobs,然后使用$blob。此外,您必须遍历 $blobs 内的所有 blob 名称 - 每层更改都是单独的调用;无法通过单个操作设置容器中的所有 blob。
icloudblob 对象它有100多种方法。并且需要知道这是大量的网络事务(如果您有数千或数百万个 blob,可能会长时间运行)。