azure storage使い始めるまで

コマンドメモ

ストレージアカウント作成

az storage account create \
  --name $account \
  --resource-group $resource_group \
  --sku Standard_LRS \
  --kind StorageV2 \
  --access-tier Hot \
  --allow-blob-public-access true \
  --public-network-access Enabled \
  --default-action Allow \
  --routing-choice MicrosoftRouting \
  --min-tls-version TLS1_2

削除ポリシー無効化

az storage blob service-properties delete-policy update \
  --account-name $account \
  --enable false \
  --auth-mode login

az storage account blob-service-properties update \
  --account-name $account \
  --resource-group $resource_group \
  --enable-versioning false \
  --enable-container-delete-retention false

az storage account file-service-properties update \
  --account-name $account \
  --resource-group $resource_group \
  --enable-delete-retention false

ライフサイクル管理

az storage account management-policy create \
  --account-name $account \
  --resource-group $resource_group \
  --policy '
{
  "rules": [
    {
      "enabled": true,
      "name": "rule1",
      "type": "Lifecycle",
      "definition": {
        "actions": {
          "version": {
            "delete": {
              "daysAfterCreationGreaterThan": 30
            }
          },
          "baseBlob": {
            "delete": {
              "daysAfterCreationGreaterThan": 30
            }
          },
          "snapshot": {
            "delete": {
              "daysAfterCreationGreaterThan": 30
            }
          }
        },
        "filters": {
          "blobTypes": [
            "blockBlob",
            "appendBlob"
          ]
        }
      }
    }
  ]
}
'

コンテナ作成

az storage container create \
  --name upload \
  --account-name $account \
  --public-access blob \
  --auth-mode login

delete

az storage account delete --name $account --resource-group $resource_group --yes

upload

ACCOUNT_KEY=$(az storage account keys list --account-name $account --resource-group $resource_group --query '[0].value' -o tsv)
az storage blob upload \
  --account-name $account \
  --container-name upload \
  --name memo.md \
  --file memo.md \
  --content-type "text/plain; charset=UTF-8" \
  --overwrite \
  --account-key $ACCOUNT_KEY

URL確認

az storage blob url   --account-name $account   --container-name upload   --name memo.md   --auth-mode login