演習 - Azure CLI を使用して階層型ストレージを管理する
Azure CLI では、Azure Storage 層を構成および管理するための一連のコマンドライン ツールが提供されています。
製造会社の例を使用して、ここでは会社のストレージ層戦略の実装を開始します。 Azure CLI コマンドを使用して、Azure Storage Blob の階層レベルを取得して変更します。
この演習では、Azure CLI コマンドを使用して、ストレージ層を取得して変更します。
ストレージ アカウントと BLOB を準備する
このセクションでは、新しいストレージ アカウントとコンテナーを作成し、コンテナーにファイルをアップロードします。
Cloud Shell で次のコマンドを実行して、後の例で使用するサンプル ファイルを作成してください。
touch dummy.png
Cloud Shell で次のコマンドを実行して、一意の名前を使用して環境変数を設定します。これを使用して新しいストレージ アカウントとコンテナーをストレージ アカウント内に作成してください。
<your storage account name>
を、ストレージ アカウント用に選択した名前に置き換えてください。export LOCATION=eastus2 export RESOURCE_GROUP=<rgn>[sandbox resource group name]</rgn> export STORAGE_ACCOUNT_NAME=<your storage account name> export CONTAINER_NAME=userguides
Cloud Shell で次のコマンドを実行し、ストレージ アカウント名に設定した環境変数を使用して新しいストレージ アカウントを作成してください。
az storage account create \ --location $LOCATION \ --name $STORAGE_ACCOUNT_NAME \ --resource-group $RESOURCE_GROUP \ --kind StorageV2 \ --sku Standard_LRS
コンテナーを作成するには、ストレージ アカウント キーが必要です。 このコマンドによってストレージ アカウント キーを取得し、環境変数にそれを格納します。
export AZURE_STORAGE_KEY="$(az storage account keys list -g $RESOURCE_GROUP -n $STORAGE_ACCOUNT_NAME --query [0].value --output tsv)"
Cloud Shell で次のコマンドを実行して、ストレージ アカウント内に新しいコンテナーを作成します。
az storage container create \ --name $CONTAINER_NAME \ --account-name $STORAGE_ACCOUNT_NAME \ --account-key $AZURE_STORAGE_KEY
Cloud Shell で次のコマンドを実行して、サンプル ファイルを BLOB として新しいコンテナーにアップロードします。 ファイルがアップロードされると、guitar-model8.png というファイル名に変更されます。
az storage blob upload \ --file dummy.png \ --name guitar-model8.png \ --container-name $CONTAINER_NAME \ --account-name $STORAGE_ACCOUNT_NAME
Cloud Shell で次のコマンドを実行して、コンテナー内の BLOB を一覧表示して、ファイルがアップロードされたことを確認します。
az storage blob list \ --container-name $CONTAINER_NAME \ --account-name $STORAGE_ACCOUNT_NAME \ --output table
BLOB 層がホットに設定されていることに注目してください。
BLOB のアクセス層をホットからクールに変更する
この手順では、最初に BLOB のアクセス層をホットからクールに変更します。 次に、2 番目の BLOB をアップロードして、アクセス層をホットからアーカイブに変更します。
Cloud Shell で次のコマンドを実行して、BLOB のアクセス層をホットからクールに変更してください。
az storage blob set-tier \ --name guitar-model8.png \ --container-name $CONTAINER_NAME \ --account-name $STORAGE_ACCOUNT_NAME \ --tier Cool
Cloud Shell で次のコマンドを実行して、新しいコンテナーにアップロードします。
az storage blob upload \ --file dummy.png \ --name bass-model3.png \ --container-name $CONTAINER_NAME \ --account-name $STORAGE_ACCOUNT_NAME
Cloud Shell で次のコマンドを実行して、BLOB のアクセス層をクールからアーカイブに変更してください。
az storage blob set-tier \ --name bass-model3.png \ --container-name $CONTAINER_NAME \ --account-name $STORAGE_ACCOUNT_NAME \ --tier Archive
Cloud Shell で次のコマンドを実行して、コンテナー内の BLOB を表示します。
az storage blob list \ --container-name $CONTAINER_NAME \ --account-name $STORAGE_ACCOUNT_NAME \ --output table
2 つの BLOB は異なる階層にあり、bass-model3.png は現在オフラインです。
Cloud Shell で次のコマンドを実行して、BLOB のアクセス層をアーカイブからホットに変更してください。
az storage blob set-tier \ --name bass-model3.png \ --container-name $CONTAINER_NAME \ --account-name $STORAGE_ACCOUNT_NAME \ --tier Hot
Cloud Shell で次のコマンドを実行して、コンテナー内の BLOB を表示します。
az storage blob list \ --container-name $CONTAINER_NAME \ --account-name $STORAGE_ACCOUNT_NAME \ --output table
BLOB bass-model3.png がまだアーカイブに設定されていることがわかります。 これはリハイドレートによるもので、数時間がかかる場合があります。