概要
- 「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のクエリについてご存知の方がいましたらフォロー下さい。