{Azure Storage}BLOB のバージョン管理を有効にして管理する

 

https://learn.microsoft.com/ja-jp/azure/storage/blobs/versioning-enable?tabs=portal
https://learn.microsoft.com/ja-jp/azure/storage/blobs/versioning-overview


-- 1. 前作業

az login --use-device-code
az account show

az version

az configure --list-defaults
az configure --defaults location=japaneast
az configure --list-defaults

az group create \
--name rg9999999 \
--location japaneast

az group list
az upgrade


-- 2. ストレージアカウントの作成

az storage account create \
--resource-group rg9999999 \
--name st123 \
--access-tier Hot \
--kind StorageV2 \
--sku Standard_LRS


az storage account list \
--resource-group rg9999999


-- 3. BLOB のバージョン管理を有効にする

az storage account blob-service-properties update \
--resource-group rg9999999 \
--account-name st123 \
--enable-versioning true

az storage account blob-service-properties show \
--resource-group rg9999999 \
--account-name st123

 


-- 4. コンテナーの作成

key=$(az storage account keys list \
--account-name st123 \
--resource-group rg9999999 \
--output json \
--query [0].value | tr -d '"')

echo $key


az storage container create \
--name container01 \
--account-name st123 \
--public-access off \
--account-key $key


-- 5. コンテナーにオブジェクトをアップロード

echo test > test.txt

az storage blob upload \
--account-name st123 \
--container-name container01 \
--name test.txt \
--file test.txt \
--account-key $key

az storage blob list \
--account-name st123 \
--container-name container01 \
--output table \
--account-key $key

 

-- 6. コンテナーのオブジェクトを更新

※If you want to overwrite the existing one, please add --overwrite in your command.

echo testtest > test.txt

az storage blob upload \
--account-name st123 \
--container-name container01 \
--name test.txt \
--file test.txt \
--account-key $key \
--overwrite

az storage blob list \
--account-name st123 \
--container-name container01 \
--output table \
--account-key $key

 

バージョン生成をコンソールで確認
コンソールから更新前バージョンに復元可能
コマンドでは確認、復元できない模様

 


-- 7. コンテナーのオブジェクトを削除

az storage blob delete \
--account-name st123 \
--container-name container01 \
--name test.txt \
--account-key $key

 

az storage blob list \
--account-name st123 \
--container-name container01 \
--output table \
--account-key $key

az storage blob list \
--account-name st123 \
--container-name container01 \
--output table \
--account-key $key \
--include d

includeオプションを付与しても表示されない


-- 8. クリーンアップ

az storage account delete \
--resource-group rg9999999 \
--name st123 \
--yes


az group list
az group delete \
--name rg9999999 \
--yes