Azure Developer CLI (azd) には、Azure でのアプリの開発、プロビジョニング、デプロイを効率化するための一連のコマンドが用意されています。
azd init コマンドを使用すると、azdを操作するために必要なファイルと構成を生成することで、新規または既存のプロジェクトを設定できます。 この記事では、使用できるさまざまな初期化ワークフローと、開発シナリオに最適なオプションを選択する方法について説明します。
初期化ワークフロー
azd init コマンドでは、アプリがazdで動作するように準備するためのいくつかのワークフローがサポートされています。
-
現在のディレクトリをスキャンする: 既存のアプリ コードベースを分析して、適切な
azd構成ファイルとリソースを生成します。 -
テンプレートの選択: テンプレートを複製し、
azdテンプレート ギャラリーから初期化します。 -
最小限のプロジェクトを作成する: 独自の
azure.yamlテンプレートを最初から作成するための開始点として、基本的なazdファイルを初期化します。
プロジェクトに最適なアプローチを選択します。 これらのフローはすべて、 テンプレートの作成の概要 と関連記事で詳しく説明されています。 次のセクションでは、各フローの概念的な概要について説明します。
現在のディレクトリをスキャンする
このワークフローは、既存のアプリ コードベースがあり、 azdを使用して Azure へのデプロイ用に準備する場合に使用します。
プロジェクトのルート ディレクトリに移動します。
azd initコマンドを実行します。azd init[ 現在のディレクトリをスキャンする] を選択します。
azdは:- ディレクトリをスキャンして、アプリで使用する言語またはフレームワークを特定します。
- Azure Container Apps などの適切なホスティング プラットフォームを選択します。
- 必要に応じて、検出されたサービスを追加または削除するように求められます。
? How do you want to initialize your app? Scan current directory (✓) Done: Scanning app code in current directory Detected services: .NET Detected in: src azd will generate the files necessary to host your app on Azure using Azure Container Apps. ? Select an option [Use arrows to move, type to filter] > Confirm and continue initializing my app Remove a detected service Add an undetected service[ 確認] を選択し、アプリの初期化を続行 してワークフローを完了します。
azdでは、アプリ ディレクトリに次のものが作成されます。- アプリ サービスを定義し、それらをホスティング リソースにマップする
azure.yamlファイル。 - 環境名などの構成設定を保持する
.azureフォルダー。 - アプリの言語とホスティング プラットフォーム用に構成された
.gitignoreファイル。
- アプリ サービスを定義し、それらをホスティング リソースにマップする
必要に応じて、
azd upを実行して Azure Container Apps リソースを作成し、アプリをデプロイします。
アプリは、より多くの Azure リソースとサービスを使用して引き続き開発および拡張できる azd テンプレートとして構成されました。
テンプレートを選択する
このワークフローでは、通常、アプリケーション コードと必要な Azure インフラストラクチャ定義の両方を含む事前構築済みの azd テンプレートから始めることができます。
azd initコマンドを実行します。azd init注
azd initパラメーターを使用して--templateを実行して、テンプレートを名前で直接初期化し、ワークフローの選択をスキップすることもできます。[ テンプレートの選択] を選択します。
azdには、構成済みのテンプレート ソースから使用可能なテンプレートの一覧が表示されます。? How do you want to initialize your app? Select a template ? Select a project template: [Use arrows to move, type to filter] > Deploy Phoenix to Azure (Arize-ai/phoenix-on-azure) API Center Reference Sample (Azure-Samples/APICenter-Reference) Event Driven Java Application with Azure Service Bus on Azure Spring Apps (Azure-Samples/ASA-Samples-Event-Driven-Application) Static React Web App with Java API and PostgreSQL (Azure-Samples/ASA-Samples-Web-Application)結果をフィルター処理し、
Hello AZDテンプレートを検索する場合に入力します。 Enter キーを押して、テンプレートを複製して初期化します。必要に応じて、
azd upを実行してテンプレート リソースをプロビジョニングし、Azure にデプロイします。
初期化されたテンプレートを、さらなる開発の出発点として使用することもできます。
最小限のプロジェクトを作成する
最小限のセットアップから始め、すべてを手動でカスタマイズする上級ユーザー向けに、このオプションは必須の構成のみを提供します。
azd initフラグを指定して--minimalコマンドを実行します。azd init --minimalメッセージが表示されたら、
azdテンプレートの名前を入力し、Enter キーを押します。? How do you want to initialize your app? Create a minimal project ? What is the name of your project? (empty) hello-azd ? What is the name of your project? hello-azd SUCCESS: Generated azure.yaml project file. Run azd add to add new Azure components to your project.--minimalフラグでは、次の項目のみが作成されます。- プロジェクト名と schemaVersion のみを含む基本的な
azure.yamlファイル - 環境構成用の
.azureディレクトリ - Azure Developer CLI の適切なエントリを含む
.gitignoreファイル
この合理化された初期化は、次の場合に最適です。
- インフラストラクチャをゼロから構築したい
- 既存の複雑なプロジェクトと
azdを統合する必要がある -
azd addコマンドを使用してアーキテクチャを段階的に構築することを計画する - プロジェクト構造を完全に制御する
- プロジェクト名と schemaVersion のみを含む基本的な
初期化後、次のことができます。
-
infraフォルダーにインフラストラクチャ ファイルを手動で作成する -
azd addコンポーネント機能を使用して、アプリへの Azure リソースの追加を開始する -
azure.yamlファイルをカスタマイズしてサービスとリソースを定義する
-
プロジェクトと Azure リソースの名前付け
新規または既存のプロジェクトを初期化すると、プロジェクト名は azure.yamlに設定されます。 プロジェクト名は、プロビジョニング プロセス中に作成された Azure リソース名のプレフィックスとして機能します。 検証規則に従うことで、生成された Azure リソース名も有効になります。
Bicep または Terraform テンプレートでは、多くの場合、プロジェクト名は、環境名やその他の要素と組み合わせて、リソース名を構築するためのベースとして使用されます。 例えば次が挙げられます。
var resourceToken = '${name}-${environmentName}'
nameはプロジェクト名を参照し、environmentNameはazd環境の名前です。
プロジェクト名の検証規則
azd initを使用してプロジェクトを初期化する場合、またはazure.yaml ファイルで新しいプロジェクト名を作成する場合は、次の検証規則が適用されます。
| ルール | Description |
|---|---|
| 使用できる文字 | プロジェクト名には、小文字、数字、ハイフンのみを含めることができます。 |
| 開始文字 | プロジェクト名は文字で始まる必要があります。 |
| 終了文字 | プロジェクト名の末尾をハイフンにすることはできません。 |
| 長さ | プロジェクト名の長さは 2 ~ 63 文字にする必要があります。 |
| 連続するハイフンなし | プロジェクト名に連続するハイフンを含めることはできません。 |
これらの検証規則により、プロジェクト名が Azure リソースの名前付け要件と互換性を持ち、デプロイ中のサービス パッケージの失敗を防ぐことができます。
次のステップ
azd initを使用してプロジェクトを初期化した後、次のことができます。
- 生成されたインフラストラクチャ ファイルを変更して、Azure リソースをカスタマイズします。
-
azd provisionを使用して、Azure に必要なリソースを作成します。 -
azd deployを使用して、プロビジョニングされたリソースにアプリケーション コードをデプロイします。 - プロビジョニングとデプロイを 1 つのコマンドで組み合わせる Azure Developer CLI のアップ ワークフロー について説明します。