😀

Azure Storage の Blob コンテナーに外部 URL から直接ファイルをダウンロードしてみた

に公開

Azure Storage の Blob コンテナーにファイルを格納する場合、大抵どこかしらの環境からファイルをアップロードすると思います。例えば、郵便番号の CSV をローカルにダウンロードしてから Blob コンテナーにアップロードする場合を想定します。これが、ローカルにダンロードせずとも、ダウンロード URL から直接 Blob コンテナーに格納できたら、より早く(速く)より簡単だと思います。そこで Azure CLI でどうやってやるのか試してみました。

検証用の Blob コンテナーを作成

bash
prefix=mnrblob
region=japaneast

az group create \
  --name ${prefix}-rg \
  --location $region

az storage account create \
  --name ${prefix} \
  --resource-group ${prefix}-rg \
  --https-only true \
  --sku Standard_LRS

az storage container create \
  --account-name ${prefix} \
  --name test

ローカルにあるファイルをアップロードする例

bash
LANG=C date > date.txt

az storage blob upload \
  --account-name ${prefix} \
  --container-name test \
  --file date.txt \
  --name date.txt

郵便番号 CSV の URL を確認

blob-copy-from-url-01.png

ダウンロード URL から直接 Blob コンテナーに格納する例

bash
az storage blob copy start \
  --account-name ${prefix} \
  --destination-blob ken_all.zip \
  --destination-container test \
  --source-uri https://www.post.japanpost.jp/zipcode/dl/oogaki/zip/ken_all.zip

Blob コンテナーを確認

blob-copy-from-url-02.png

後片付け

bash
rm date.txt

az group delete \
  --name ${prefix}-rg \
  --yes

参考

https://www.post.japanpost.jp/zipcode/dl/oogaki-zip.html

https://learn.microsoft.com/ja-jp/cli/azure/storage/blob/copy?view=azure-cli-latest#az-storage-blob-copy-start

Discussion