Azure CLI2.0をインストールして使ってみる

はじめに

Azure CLIを使いたい用事が出来たのでcygwinにAzure CLIを入れたのでその時のメモ
一般のディストリビューションならパッケージが提供されてるのでそっちをインストールした方が遥かに楽です
Storageを取得するところまでやります

環境

  • cygwin
    apt-cygが使える前提です

前提パッケージのインストール

1$ apt-cyg install python2-devel libffi-devel openssl-devel

CLIのインストール

1$ curl -L https://aka.ms/InstallAzureCli | bash

待ってるとインストールが終わります

1$ az -v
2azure-cli (2.0.21)

ログイン

対話式でログインしてみます
表示されたURLにアクセスしてアクセスコード(例ではAB12C34DE)を入力した後に使用するアカウントでログインします.
ブラウザ上で一通り作業が終了するとログイン情報のjsonが表示されます

 1$ az login
 2To sign in, use a web browser to open the page https://aka.ms/devicelogin and enter the code AB12C34DE to authenticate.
 3[
 4  {
 5    "cloudName": "AzureCloud",
 6    "id": "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx",
 7    "isDefault": true,
 8    "name": "無料試用版",
 9    "state": "Enabled",
10    "tenantId": "xxxxxxxx-0000-0000-xxxx-xxxxxxxxxx",
11    "user": {
12      "name": "example@example.com",
13      "type": "user"
14    }
15  }
16]

他にもユーザー名とパスワードによるログイン(MFAあるとダメっぽい)とかサービス プリンシパルによるログインが出来るみたいです.

1$ az login -u johndoe@contoso.com -p VerySecret
2$ az login --service-principal -u http://azure-cli-2016-08-05-14-31-15 -p VerySecret --tenant contoso.onmicrosoft.com

ファイルの一覧の取得

コマンドで作成することも出来ますが予めWebの管理画面からストレージを作成して数ファイル置いておきました.
今回は

  • ストレージアカウント
    sample
  • コンテナ
    example

とします.

1$ az storage blob list --account-name sample --container-name example
2[
3  {
4    "content": null,
5    "metadata": null,
6    "name": "cat.jpg",
7    "properties": {
8      "AccessTierInferred": "true",
9~以下略~

見辛いのでjqコマンドでファイル名だけ抽出します.

1$ az storage blob list --account-name sample --container-name example | jq -r ".[].name"
2cat.jpg
3wine.jpg

取れました

ファイルのダウンロード

cat.jpgをローカルにdownload_cat.jpgと名前をつけて保存する

1$ az storage blob download --account-name sample --container-name example --name cat.jpg --file download.cat.jpg
2$ ls
3download_cat.jpg

良い感じ

参考記事