在 Azcopy 上更改层级
Posted
技术标签:
【中文标题】在 Azcopy 上更改层级【英文标题】:Change Tier on Azcopy 【发布时间】:2021-08-22 12:46:37 【问题描述】:我需要从 Azure 存储帐户 StorageV2(通用 v2)下载多个存档文件,但我似乎需要先将它们从存档重新水化到冷层或热层。
AzCopy(我使用的是 AzCopy V10.10.0)中是否有办法更改已上传文件的层级?
我非常喜欢 AzCopy,因为它很容易与 SAS 令牌一起使用。 提前谢谢!
【问题讨论】:
【参考方案1】:您无法访问存储在存档层上的数据,除非先对其进行再水化。
您可以使用 powershell 从归档层复制到热层存储。然后您就可以使用 AzCopy 进行复制了。
#Initialize the following with your resource group, storage account, container, and blob names
$rgName = ""
$accountName = ""
$srcContainerName = ""
$destContainerName = ""
$srcBlobName = ""
$destBlobName = ""
#Select the storage account and get the context
$storageAccount =Get-AzStorageAccount -ResourceGroupName $rgName -Name $accountName
$ctx = $storageAccount.Context
#Copy source blob to a new destination blob with access tier hot using standard rehydrate priority
Start-AzStorageBlobCopy -SrcContainer $srcContainerName -SrcBlob $srcBlobName -DestContainer $destContainerName -DestBlob $destBlobName -StandardBlobTier Hot -RehydratePriority Standard -Context $ctx
见:https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blob-rehydration?tabs=azure-powershell#quickstart-scenarios
【讨论】:
当您只需将 blob 的访问层从Archive
更改为 Hot
或 Cool
- docs.microsoft.com/en-us/rest/api/storageservices/set-blob-tier 时,为什么还要将存档的 blob 复制到新 blob。
@GauravMantri 你说得有道理。只是如果您想将所有 blob 保留在同一层的同一容器中
@GauravMantri,实际上也是成本。您需要支付至少 180 天的存档费用。如果您已将 blob i 存档 10 天,然后将其更改为 hot,那么您必须为剩余的 170 天付费,并开始为 hot tier 付费。如果你复制它,一旦使用就删除它,那么额外的成本是最低的。
@GauravMantri PS 恭喜达到 100 000 分
谢谢@ShirazBhaiji,您的反馈非常有用。我也喜欢你节省成本的策略。以上是关于在 Azcopy 上更改层级的主要内容,如果未能解决你的问题,请参考以下文章
在 Elastic Beanstalk 中更改 AWS RDS 层级