LoginSignup
6
6

More than 5 years have passed since last update.

Windows Azure のCLIツール「azure-cli」の使い方

Last updated at Posted at 2014-01-13

概要

  • azure-cli」はWindowsAzureの様々な情報をコマンドラインから管理できるnode.jsのパッケージ。
  • コマンドラインツールを使うにはnode.jsをインストールしておく必要がある。

対象範囲

  • この記事では主にモバイルサービスでよく使う機能について記載する。

環境

% azure --version
0.7.4 (node: 0.8.16)

インストール・証明書インポート

以下を参照してインストール、証明書のインポートを行う。
- Mac および Linux 用 Windows Azure コマンド ライン ツール
- Windows Azure Mobile Services をコマンドラインツールで操作する

サブスクリプションの切り替え

1つのアカウントに複数のサブスクリプションが存在する場合、対象のサブスクリプションを指定する必要がある。
それには、azure account setコマンドで操作対象のサブスクリプションを切り替えることができる。
現在指定しているサブスクリプションはazure account listコマンドで確認することができる。
Currentがtrueになっているのが現在のサブスクリプション。

% azure account list
info:    Executing command account list
data:    Name   Id                                    Current
data:    -----  ------------------------------------  -------
data:    無料評価版  xxxx  true   
data:    従量課金   yyyy  false  

% azure account set yyyy
info:    Executing command account set
info:    Setting subscription to “yyyy”
info:    Setting service endpoint to: https://management.core.windows.net/
info:    Changes saved

% azure account list                                    
info:    Executing command account list
data:    Name   Id                                    Current
data:    -----  ------------------------------------  -------
data:    無料評価版  xxxx  false  
data:    従量課金   yyyy  true   

ログの参照

azure mobile logコマンドにて、モバイルサービスのログを参照する。

【コマンド】

azure mobile log <サービス名> <オプション>
azure mobile log --help # Help

【オプション】

--json                           出力結果をJSON形式にする
-r, --query <query>              ログクエリを実行して検索する
-t, --type <type>                information、warning、errorのいずれかのタイプで検索する
--source <source>                ソース名で検索する
-c, --continuationToken <token>  Token IDの位置から表示する
-p, --top <top>                  結果を先頭から指定した行数分表示する

【注意】
--query パラメーターは、--type、--top より優先される。
--queryオプションのパラメータはOData(Open Data Protocol)で定義されているURIパラメータの記述方法に従う。
参考:http://msdn.microsoft.com/ja-jp/library/windowsazure/jj677199.aspx

なお、以下のオプションについては動作することができなかった。
-k(—skip)オプションは正常に動作しなかった(helpにも表示されないのでおそらく廃止された?)
-r(—query)オプションは以下のエラーが出力された。

% azure mobile log <サービス名> --query "$top=5&$skip=2"
info:    Executing command mobile log
+ Retrieving logs                                                              
error:   When querying user logs, a $top query option must be specified and the value must be positive and less than 200.
error:   mobile log command failed

エラーに書いてある$topパラメータは指定しているが、なぜかエラーとなってしまう。。

データの参照

azure mobile data readコマンドにて、テーブルのデータを参照する。

【コマンド】

azure mobile data read <サービス名> <テーブル名> <オプション> <クエリ>
azure mobile data read —help # Help

【オプション】

--json                   出力結果をJSON形式にする
-k, --skip <top>         先頭から指定した行数を除く
-t, --top <top>          先頭から指定した行数を表示する
-l, --list               出力結果をlist形式にする

【クエリ】
このコマンドの<クエリ>の指定方法についての情報が見つからない。。

スクリプトの操作

azure mobile scriptコマンドにて、各種スクリプトの操作を行う。

①スクリプト一覧の参照

azure mobile script list <サービス名> <オプション>
azure mobile script list --help # Help

②スクリプトの取得

azure mobile script download <サービス名> <ディレクトリ名/スクリプト名> <オプション>
azure mobile script download --help # Help

③スクリプトのアップロード

azure mobile script upload <サービス名> <ディレクトリ名/スクリプト名> <オプション>
azure mobile script upload --help # Help

④スクリプトの削除

azure mobile script delete <サービス名> <ディレクトリ名/スクリプト名> <オプション>
azure mobile script delete --help # Help

モバイルサービス内でスクリプトが配置されているディレクトリ・スクリプト名は以下の通り。

タイプ ディレクトリ名/ファイル名
tableスクリプト table/<tableName>.{insert|read|update|delete}
schedulerスクリプト scheduler/<scriptName>
custom APIスクリプト api/<scriptName>
sharedスクリプト shared/<scriptname>
  • table,scheduler,custom APIは、モバイルサービスの管理画面にあるそれぞれの機能のスクリプト。
  • アップロードする際は、カレントディレクトリに対象のディレクトリを作成し、その中にファイルを配置して、アップロードコマンドの<ディレクトリ名/ファイル名>を指定すれば良い。
  • 現在はuploadの--overrideオプションは廃止されているようで、何も指定しなくても上書きができる。
  • sharedスクリプトはHelper関数であり各種スクリプトからrequireして使うことができるが、今のところ管理画面では作成することができない。(これについては別のエントリーにて記述する)
  • この他に、node_modulesというフォルダを作成しnpmを使用することもできる。(これについても別のエントリーにて記述する)

その他のツール

cliのヘルパー

SaschaDittmann / azure-cli-helper
とりあえず見つけたのでメモ。使い方は調査中。

(2014/01/18 追記)
使い方が書いていないので詳しいことは分からないが、ソース見る限りモバイルサービスのスクリプトの操作(参照・アップロード・ダウンロード・削除)ができるよう。

GUIでモバイルサービスのログを参照できるツール

Azure Mobile Log Viewer , an app to easily query Azure Mobile Log data
試してみたところ、証明書をセットしてSubscriptionまでは選択できるが、ServiceNameが表示されず、ログの取得まで至らなかった。


誤りや不明点などについてはコメント下さい。
logの--queryオプションと、data readのクエリについてご存知の方がいましたらフォロー下さい。

6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6