Azure Command-Line インターフェイス (Azure CLI) を使用して、Azure Batch アカウントとリソースを管理できます。 プール、ジョブ、タスクなどの Batch リソースを作成および更新するためのコマンドがあります。 Batch API、PowerShell コマンドレット、Azure portal を使用して行うのと同じタスクの多く用にスクリプトを作成することもできます。
Azure Cloud Shell で Azure CLI を実行するか、Azure CLI をローカルにインストールできます。 バージョンは、Windows、Mac、Linux オペレーティング システム (OS) で使用できます。
この記事では、Batch アカウントとリソースで Azure CLI を使用する方法について説明します。
Azure CLI を設定する
Azure CLI の設定方法を選択します。
- Cloud Shell で Azure CLI を実行します。
- Azure CLI を ローカルにインストールします。
Azure CLI を初めて使用する場合は、続行する前 に「Azure CLI の概要 」を参照してください。
以前に Azure CLI をローカルにインストールしたことがある場合は、 インストールを最新バージョンに更新してください。
Azure CLI を使用して認証する
Batch で Azure CLI を使用するには、まず Azure アカウントにサインインしてから、 Batch アカウントにサインインします。
Azure アカウントにサインイン
Azure CLI を使用するには、まず Azure アカウントにサインインします。 この手順では、 Batch Management サービス コマンドを含む Azure Resource Manager コマンドにアクセスできます。 その後、コマンドを実行して、Batch アカウント、キー、アプリケーション パッケージ、クォータを管理できます。
Azure CLI で Azure アカウントを認証する) には、2 つの方法があります。 自分でコマンドを実行するには、 Azure CLI に対話形式でサインインします。 Azure CLI は資格情報をキャッシュし、同じ資格情報を使用して、その後で Batch アカウントにサインインできます。 スクリプトまたはアプリケーションからコマンドを実行するには、 サービス プリンシパルを使用して Azure CLI にサインインします。
Azure CLI に対話形式でサインインするには、az loginを実行します。
az login
Batch アカウントにサインインする
次に、az batch account login コマンドを使用して、Azure CLI で Batch アカウントにサインイン します。 この手順では、Batch サービス コマンドにアクセスできます。 その後、プール、ジョブ、タスクなどの Batch リソースを管理できます。
Batch アカウントは、Azure CLI で 2 つの方法で認証できます。 既定の方法は、 Microsoft Entra ID を使用して認証することです。 ほとんどのシナリオでは、この方法を使用することをお勧めします。 もう 1 つのオプションは、 共有キー認証を使用することです。
Batch コマンドを自動化する Azure CLI スクリプトを作成する場合は、いずれかの認証方法を使用できます。 一部のシナリオでは、共有キー認証はサービス プリンシパルを作成するよりも簡単な場合があります。
Microsoft Entra ID を使用して認証する
Batch アカウントで認証するための既定の方法は、Microsoft Entra ID を使用することです。 Azure CLI に対話形式で、またはサービス プリンシパルを使用してサインインする場合は、同じキャッシュされた資格情報を使用して、Microsoft Entra ID を使用して Batch アカウントにサインインできます。 この認証方法では、Azure ロールベースのアクセス制御 (Azure RBAC) も提供されます。 Azure RBAC では、ユーザー アクセスはアカウント キーではなく、割り当てられたロールによって異なります。 アカウント キーではなく、Azure ロールのみを管理する必要があります。 その後、Microsoft Entra ID がアクセスと認証を処理します。
Microsoft Entra ID を使用して Batch アカウントにサインインするには、 az batch login実行します。 Batch アカウントの名前 (-n) とリソース グループの名前 (-g) の必須パラメーターを必ず含めます。
az batch account login -g <your-resource-group> -n <your-batch-account>
共有キーを使用した認証
また、共有キー認証を使用して Batch アカウントにサインインすることもできます。 この方法では、アカウント アクセス キーを使用して、Batch サービスの Azure CLI コマンドを認証します。
共有キー認証を使用して Batch アカウントにサインインするには、パラメーター az batch loginを使用して--shared-key-authを実行します。 Batch アカウントの名前 (-n) とリソース グループの名前 (-g) の必須パラメーターを必ず含めます。
az batch account login -g <your-resource-group> -n <your-batch-account> --shared-key-auth
Batch コマンドを学ぶ
Azure CLI リファレンス ドキュメントには、 Batch 用のすべての Azure CLI コマンドが一覧表示されています。
Azure CLI ですべての Batch コマンドを一覧表示するには、 az batch -hを実行します。
一般的な Batch タスク用の CLI スクリプトの例は複数あります。 これらの例では、Azure CLI で Batch で使用できるコマンドを多数使用する方法を示します。 Batch アカウント、プール、ジョブ、タスクを作成および管理する方法について説明します。
Batch CLI 拡張機能コマンドを使用する
Batch CLI 拡張機能を使用すると、コードを記述せずに Batch ジョブを実行できます。 この拡張機能には、Azure CLI を使用してプール、ジョブ、タスクを作成するための JSON テンプレートを使用するコマンドが用意されています。 この拡張機能には、Batch アカウントにリンクされている Azure Storage アカウントに接続するためのコマンドも用意されています。 その後、ジョブ入力ファイルをアップロードし、ジョブ入力ファイルをダウンロードできます。
JSON を使用してリソースを作成する
ほとんどの Batch リソースは、コマンド ライン パラメーターのみを使用して作成できます。 一部の機能では、代わりに JSON 構成ファイルを指定する必要があります。 JSON ファイルには、新しいリソースの構成の詳細が含まれています。 たとえば、JSON ファイルを使用して、開始タスクのリソース ファイルを指定する必要があります。
たとえば、JSON ファイルを使用して新しい Batch プール リソースを構成するには、次のようにします。
az batch pool <your-batch-pool-configuration>.json
新しいリソースの JSON ファイルを指定する場合は、コマンドで他のパラメーターを使用しないでください。 サービスは JSON ファイルのみを使用してリソースを構成します。
Batch REST API リファレンス ドキュメントには、リソースの作成に必要な JSON 構文が一覧表示されています。
リソースの作成に必要な JSON 構文については、 Batch REST API リファレンス ドキュメントを参照してください。 リソース操作の参照ページの [例 ] セクションに移動します。 次に、「<リソースタイプ>を追加」というタイトルのサブセクションを見つけます。 たとえば、 基本的なタスクを追加します。 構成ファイルのテンプレートとして JSON コードの例を使用します。
JSON ファイルを指定するサンプル スクリプトについては、「Batch を使用した ジョブとタスクの実行」を参照してください。
Batch リソースに効率的にクエリを実行する
list コマンドを使用して、Batch アカウントに対してクエリを実行し、すべてのリソースを一覧表示できます。 たとえば、アカウント内のプールとジョブ内のタスクを一覧表示するには、次のようにします。
az batch pool list
az batch task list --job-id <your-job-id>
Batch クエリから返されるデータの量を制限するには、OData 句を指定します。 すべてのフィルター処理はサーバー側で行われるため、要求したデータのみを受け取ります。 これらの OData 句を使用して、 list 操作で帯域幅と時間を節約します。 詳細については、「 Batch リソースの効率的なリスト クエリの設計」を参照してください。
| 条項 | 説明 |
|---|---|
--select-clause [select-clause] |
各エンティティのプロパティのサブセットを返します。 |
--filter-clause [filter-clause] |
指定した OData 式に一致するエンティティのみを返します。 |
--expand-clause [expand-clause] |
基になる 1 つの REST 呼び出しでエンティティ情報を取得します。 expand 句は現在、 stats プロパティのみをサポートしています。 |
これらの句の使用方法を示すサンプル スクリプトについては、「Batch を使用した ジョブとタスクの実行」を参照してください。
トラブルシューティング
Batch コマンドのヘルプを表示するには、コマンドの末尾に -h を追加します。 他のオプションは追加しないでください。 たとえば、Batch アカウントの作成に関するヘルプを表示するには、 az batch account create -h実行します。
詳細なコマンド出力を返すには、コマンドの末尾に -v または -vv を追加します。 これらのスイッチを使用して、完全なエラー出力を表示します。
-vv フラグは、実際の REST 要求と応答を返します。
コマンド出力を JSON 形式で表示するには、コマンドの末尾に --json を追加します。 たとえば、 pool001 という名前のプールのプロパティを表示するには、 az batch pool show pool001 --json実行します。 次に、出力をコピーして変更し、 JSON 構成ファイルを使用して Batch リソースを作成します。
一般的な Azure CLI のトラブルシューティング
Azure CLI は、いくつかのシェル環境で実行できますが、形式には若干の差異があります。 Azure CLI コマンドで予期しない結果が発生した場合は、「Azure CLI を正しく使用する方法」を参照してください。