https://learn.microsoft.com/ja-jp/azure/storage/blobs/storage-quickstart-blobs-cli
https://markheath.net/post/manage-blob-storage-azure-cli
ストレージサービスの種類
1. Azure Blob Storage
2. Azure Files
3. Azure Queue Storage
4. Azure Table Storage
前作業
az login --use-device-code
az account show
az configure --list-defaults
az configure --defaults location=japaneast
az configure --list-defaults
az group create \
--name rg01 \
--location japaneast
az group list
---------------------------------------------
ストレージアカウントの作成
az storage account create \
--resource-group rg01 \
--name st123 \
--access-tier Hot \
--kind StorageV2 \
--sku Standard_LRS
az storage account list \
--resource-group rg01
az storage account show \
--resource-group rg01 \
--name st123
ストレージアカウントの削除
az storage account delete \
--resource-group rg01 \
--name st123 \
--yes
---------------------------------------------
コンテナーの作成
connectionString=$(az storage account show-connection-string \
--resource-group rg01 \
--name st123 \
--query connectionString \
--output tsv )
echo $connectionString
az storage container create \
--name container01 \
--account-name st123 \
--public-access off \
--connection-string $connectionString
az storage container list \
--account-name st123 \
--connection-string $connectionString
az storage container show \
--name container01 \
--account-name st123 \
--connection-string $connectionString
コンテナーの削除
az storage container delete \
--name container01 \
--account-name st123 \
--connection-string $connectionString
---------------------------------------------
ディレクトリ作成
az storage blob directory create \
--container-name container01 \
--directory-path XXX/YYY \
--account-name st123 \
--connection-string $connectionString
ディレクトリの削除
az storage blob directory delete \
--container-name container01 \
--directory-path XXX/YYY \
--account-name st123 \
--recursive \
--connection-string $connectionString
---------------------------------------------
BLOBをアップロードする
echo test > test.txt
az storage blob upload \
--account-name st123 \
--container-name container01 \
--name test.txt \
--file test.txt \
--connection-string $connectionString
az storage blob upload \
--account-name st123 \
--container-name container01 \
--name AAA/test.txt \
--file test.txt \
--connection-string $connectionString
az storage blob upload \
--account-name st123 \
--container-name container01 \
--name XXX/test.txt \
--file test.txt \
--connection-string $connectionString
az storage blob upload \
--account-name st123 \
--container-name container01 \
--name hoge/fuga/test.txt \
--file test.txt \
--connection-string $connectionString
BLOBを一覧表示する
az storage blob list \
--account-name st123 \
--container-name container01 \
--output table \
--connection-string $connectionString
BLOBをダウンロードする
az storage blob download \
--account-name st123 \
--container-name container01 \
--name hoge/fuga/test.txt \
--file test2.txt \
--connection-string $connectionString
BLOBを削除する
az storage blob delete \
--account-name st123 \
--container-name container01 \
--name test.txt \
--delete-snapshots include \
--connection-string $connectionString
az storage blob delete \
--account-name st123 \
--container-name container01 \
--name hoge/fuga/test.txt \
--delete-snapshots include \
--connection-string $connectionString
BLOBを移動する
az storage blob move \
--account-name st123 \
--container-name container01 \
--source-blob AAA/test.txt \
--destination-blob test.txt \
--connection-string $connectionString
※移動時は移動先のディレクトリをあらかじめ作成必要
※暗黙作成されたディレクトリは配下のBLOB消失時、同時に消失する
az storage blob move \
--account-name st123 \
--container-name container01 \
--source-blob XXX/test.txt \
--destination-blob test2.txt \
--connection-string $connectionString
---------------------------------------------
クリーンアップ
az group list
az group delete \
--name rg01 \
--yes