Microsoft/Azure

특정 Container의 모든 blob의 Access Tier (Archive)를 변경하는 PowerShell

megapain 2021. 8. 18. 14:07

참고 자료

Manage the access tier of a blob in an Azure Storage account - https://docs.microsoft.com/en-us/azure/storage/blobs/manage-access-tier?tabs=powershell

 

Azure Storage account에 Blob을 저장하는 경우, Hot, Cool, Archive라는 Access Tier에 저장됩니다.

Strorage account를 생성 할 때에는 기본 Tier로 Hot 또는 Cool 만 지정할 수 있으며 Archive Tier는 지정할 수 없습니다.

Storage account Access tier

 

Blob을 Archive Tier로 옮기기 위해서는 아래의 방법들을 사용할 수 있습니다.

  • Azure Storage account의 Lifecycle management를 사용하여 일정 기간이 지난 blob들을 자동으로 Archive Tier로 이동
  • Azure 포털에서 개별 blob을 선택하여 Archive Tier로 이동
  • Azure Powershell을 사용하여 개별 blob을 Archive Tier로 이동

 

아래는 Storage의 특정 Container의 모든 blob의 Tier를 Archive Tier로 변경하는 PowerShell Script 입니다.

# Define storage account information 
$StorageAccount = 'storageaccountname' 
$StorageAccountKey = 'storageAccountAccessKey' 
$containername = 'containername' 

# Create a storage context 
$context = New-AzStorageContext -StorageAccountName $StorageAccount -StorageAccountKey $StorageAccountKey 

# Get the blobs 
$blobs = Get-AzStorageBlob -Container $containername -Context $context 

Foreach ($blob in $blobs) { 
	$blob.ICloudBlob.SetStandardBlobTier("Archive") 
}

 

실행 결과

Access tier가 Archive로 변경되었습니다.