Python Web azd Templates の概要
Python Web Azure Developer CLI (azd
) テンプレートは、Python Web アプリケーションの構築と Azure へのデプロイを開始する最も高速で簡単な方法です。 この記事では、作業を開始するときにコンテキストに応じた背景情報を提供します。
作業を開始する最善の方法は、クイックスタートに従って最初の Python Web アプリケーションを作成し、テンプレートを使用して Azure に数分azd
でデプロイすることです。 ローカル開発環境を設定しない場合でも、代わりに GitHub Codespaces を使用してクイックスタートに従うことができます。
Python Web azd テンプレートとは
Awesome AZD Templates ギャラリーには、多くのazd
テンプレートが用意されています。 ただし、この Python Web テンプレートのコレクションは、Azure リソースと Python Web azd
フレームワークのさまざまな一般的な組み合わせで機能パリティを備えたサンプル Web アプリケーションを提供するため、一意ではありません。
Python Web azd
テンプレートを実行すると、次のようになります。
- スターター アプリケーション (具体的には、Relecloud という架空の会社の Web サイト) を作成します。 プロジェクト コードには、特定のテクノロジ スタックに必要な特定の Python フレームワークとパッケージに関する多くのベスト プラクティスが用意されています。 テンプレートは、アプリケーションの開始点を意図しています。 必要に応じて、アプリケーション ロジックと Azure リソースを追加または削除します。
- Azure リソース のプロビジョニング - テンプレートは、一般的なコードとしてのインフラストラクチャ ツールである Bicep を使用して、Web アプリとデータベースをホストするための Azure リソースをプロビジョニングします。 ここでも、 さらに Azure サービスを追加する必要がある場合は、Bicep テンプレート を変更します。
- 新しくプロビジョニングされた Azure リソース にスターター アプリケーションをデプロイする - スターター アプリケーションは自動的にデプロイされるため、すべてが数分で動作することを確認し、変更する内容を決定できます。
- 省略可能: GitHub リポジトリと CI/CD パイプライン を設定する - 必要に応じて、テンプレートには GitHub Actions CI/CD パイプラインを含む GitHub リポジトリを設定するためのロジックが含まれています。 数分以内に、Web プロジェクト コードを変更できます。 これらの変更を GitHub リポジトリの メイン ブランチにマージすると、CI/CD パイプラインによって新しい Azure ホスティング環境に発行されます。
これは誰の目的ですか?
このテンプレートは、Azure デプロイを対象とする新しい Python Web アプリケーションの構築を開始する経験豊富な Python Web 開発者が使用することを目的としています。
なぜ私はこれを使用したいのですか?
テンプレートを azd
使用すると、いくつかの利点があります。
- 可能な限り最速のスタート - ローカル開発環境とホスティング環境のセットアップが途切れるので、数分以内にアプリケーションの構築に集中できます。
- 最も簡単な開始 - いくつかのコマンドライン命令のみを実行して、ローカル開発、ホスティング、デプロイ環境全体を構築します。 ワークフローは使いやすく、覚えやすいです。
- ベスト プラクティスに基づく構築 - 各テンプレートは、Azure 業界のベテランの Python によって構築およびメインされます。 強固な基盤の上に構築するために、設計アプローチに従ってコードを追加します。
テンプレートのインデックス
次の表に、コマンドでazd init
使用できる Python Web azd
テンプレート モニカー、各テンプレートに実装されているテクノロジ、および変更を投稿する場合の GitHub リポジトリへのリンクを示します。
Template | Web Framework | データベース | ホスティング プラットフォーム | GitHub リポジトリ |
---|---|---|---|---|
azure-django-postgres-flexible-aca | Django | PostgreSQL フレキシブル サーバー | Azure Container Apps | リポジトリ |
azure-django-postgres-flexible-appservice | Django | PostgreSQL フレキシブル サーバー | Azure App Service | リポジトリ |
azure-django-cosmos-postgres-aca | Django | Cosmos DB (PostgreSQL アダプター) | Azure Container Apps | リポジトリ |
azure-django-cosmos-postgres-appservice | Django | Cosmos DB (PostgreSQL アダプター) | Azure App Service | リポジトリ |
azure-django-postgres-addon-aca | Django | Azure Container Apps PostgreSQL アドオン | Azure Container Apps | リポジトリ |
テンプレートのしくみ
さまざまな azd
コマンドを使用して、テンプレートによって定義されたタスクを azd
実行します。 これらのコマンドの詳細については、「Azure Developer CLI の使用を開始する」を参照してください。
このテンプレートは azd
、アプリケーション コード (一般的な Web フレームワークを利用する Python コード) と、Azure リソースを作成するためのコードとしてのインフラストラクチャ (つまり Bicep) ファイルを含む GitHub リポジトリで構成されます。 また、CI/CD パイプラインを使用して GitHub リポジトリを設定するために必要な構成も含まれています。
このクイック スタートでは、特定 azd
のテンプレートを使用する手順について説明します。 運用環境のホスティング環境とローカル開発環境に対して 5 つのコマンド ライン命令を実行するだけで済みます。
azd init --template <template name>
- テンプレートから新しいプロジェクトを作成し、ローカル コンピューターにアプリケーション コードのコピーを作成します。 このコマンドを実行すると、デプロイされたリソースの名前付けのプレフィックスとして使用される環境名 ("myapp" など) を指定するように求められます。azd auth login
- Azure にログインします。 このコマンドにより、Azure にサインインできるブラウザー ウィンドウが開きます。 サインインすると、ブラウザー ウィンドウが閉じ、コマンドが完了します。 このazd auth login
コマンドは、セッションごとに Azure Developer CLI (azd
) を初めて使用する場合にのみ必要です。azd up
- クラウド リソースをプロビジョニングし、それらのリソースにアプリをデプロイします。azd deploy
- アプリケーションのソース コードに対する変更を、既にプロビジョニングされているazd up
リソースにデプロイします。azd down
- Azure リソースと CI/CD パイプラインが使用されている場合は削除します。
ヒント
回答する必要があるプロンプトの出力 azd
を確認します。 たとえば、コマンドを azd up
実行した後、複数のサブスクリプションに属している場合は、サブスクリプションの選択を求められる場合があります。 さらに、リージョンを選択するように求められます。 テンプレートの /.azure/ フォルダーに格納されている環境変数を編集することで、プロンプトに対する回答を変更できます。
テンプレートが完了すると、元のテンプレートの個人用コピーが作成され、必要に応じてすべてのファイルを変更できます。 少なくとも、プロジェクトに設計とアプリケーション ロジックが含まれるように、Python プロジェクト コードを変更できます。 Azure リソースを変更する必要がある場合は、コードとしてのインフラストラクチャの構成を変更することもできます。 「何を編集または削除できるか」 というタイトルのセクションを参照してください。
省略可能: Azure リソースの変更と再プロビジョニング
プロビジョニングされている Azure リソースを変更する場合は、テンプレート内の適切な Bicep ファイルを編集し、次の値を使用できます。
azd provision
- Bicep ファイルで定義されている目的の状態に Azure リソースを再プロビジョニングします。
CI/CD パイプラインを設定する
Azure Developer CLI (azd
) を使用すると、新しい Python Web アプリケーションの CI/CD パイプラインを簡単に設定できます。 コミットまたはプル要求を メイン ブランチにマージするたびに、CI/CD パイプラインによって変更が自動的にビルドされ、Azure リソースに発行されます。
省略可能: GitHub Actions CI/CD パイプラインを自動的に設定する
GitHub Actions CI/CD パイプライン機能を実装する場合は、次のコマンドを使用します。
azd pipeline config
- CI\CD パイプラインを有効にする GitHub リポジトリと設定を指定できます。 構成が完了すると、コードの変更がリポジトリの メイン ブランチにマージされるたびに、パイプラインによって、プロビジョニングされた Azure サービスに変更がデプロイされます。
その他のオプションは何ですか?
テンプレートを使用 azd
しない場合は、Python アプリを Azure にデプロイし、さまざまな方法で Azure リソースを作成できます。
次のいずれかのツールを使用して、多くのリソースの作成とデプロイの手順を実行できます。
- Azure Portal
- Azure CLI
- Visual Studio Code と Azure Tools 拡張機能
または、Python Web 開発フレームワークを備えるエンド ツー エンドのチュートリアルをお探しの場合は、次チェック。
Dev Containers を使用する必要がありますか?
いいえ。 Python Web azd
テンプレートでは、既定で Dev Containers が使用されます。 Dev Containers には多くの利点がありますが、いくつかの前提条件の知識とソフトウェアが必要です。 Dev Containers を使用せず、代わりにローカル開発環境を使用する場合は、環境のセットアップ手順については、サンプル アプリのルート ディレクトリにある README.md ファイルを参照してください。
何を編集または削除できますか?
各 azd
テンプレートの内容は、使用されるプロジェクトの種類と基になるテクノロジ スタックによって異なる場合があります。 この記事に記載されているテンプレートは、一般的な規則に従います。
フォルダー/ファイル | 目的 | 説明 |
---|---|---|
/ | ルート ディレクトリ | ルート ディレクトリには、さまざまな目的でさまざまな種類のファイルとフォルダーが含まれています。 |
/。Azure | azd 構成ファイル |
Azure Developer CLI (azd ) コマンドで使用される環境変数が含まれています。 このフォルダーは、コマンドを実行した後に azd init 作成されます。 環境変数の値を変更して、アプリと Azure リソースをカスタマイズできます。 詳細については、「環境固有の .env ファイル」を参照してください。 |
/.devcontainer | Dev Container 構成ファイル | Dev Containers を使用すると、Visual Studio Code 内のソフトウェア開発に必要なすべてのリソースを含むコンテナーベースの開発環境を作成できます。 |
.github/ | GitHub Actions の構成 | オプションの GitHub Actions CI/CD パイプラインの構成設定と、リンティングとテストが含まれています。 コマンドを使用して azd pipeline config GitHub Actions パイプラインを設定しない場合は、azure-dev.yaml ファイルを変更または削除できます。 |
/赤外線 | Bicep ファイル | Bicep を使用すると、環境にデプロイする Azure リソースを宣言できます。 メイン.bicep ファイルと web.bicep ファイルのみを変更する必要があります。 「クイック スタート: Bicep を使用して Python Web テンプレートをazd 使用してデプロイされたサービスのスケーリング」を参照してください。 |
src/ | スターター プロジェクト コード ファイル | Web フレームワークに必要なすべてのテンプレート、静的ファイル、コード ロジックとデータ モデル用の .py ファイル、a requirements.txt などが含まれます。 特定のファイルは、Web フレームワーク、データ アクセス フレームワークなどによって異なります。 これらのファイルは、プロジェクトの要件に合わせて変更できます。 |
/.cruft.json | テンプレート生成ファイル | テンプレートを生成するために内部的に azd 使用されます。 このファイルは安全に削除できます。 |
/.gitattributes | git 属性 | ファイルとフォルダーの処理に関する重要な構成を git に提供します。 必要に応じて、このファイルを変更できます。 |
/.gitignore | git ignore | ファイルとフォルダーがリポジトリに含まれるのを無視するように git に指示します。 必要に応じて、このファイルを変更できます。 |
/azure.yaml | azd 構成ファイル |
展開するサービスとプロジェクト フォルダーを宣言するための azd up 構成設定が含まれています。 このファイルは削除しないでください。 |
/*。Md | markdown ファイル | さまざまな目的で複数のマークダウン ファイルがあります。 これらのファイルは安全に削除できます。 |
/docker-compose.yml | Docker Compose | Azure にデプロイする前に、アプリケーションのコンテナー パッケージを作成します。 |
/pyproject.toml | Python ビルド システム | Python プロジェクトのビルド システム要件が含まれています。 このファイルを変更して、好みのツールを含めることができます (たとえば、リンターと単体テストフレームワークを使用するため)。 |
/requirements-dev.in | pip requirements ファイル | コマンドを使用して、開発環境バージョンの要件を作成するために使用 pip install -r します。 このファイルを変更して、必要に応じて他のパッケージを含めることができます。 |
ヒント
適切なバージョン管理プラクティスを使用して、何かを壊した場合に備えてプロジェクトが動作していた時点に戻ることができるようにします。
よく寄せられる質問
Q: テンプレートを使用しているときにエラーが azd
発生しました。 どうすれば良いですか?
A: Azure Developer CLI のトラブルシューティングを参照してください。 それぞれの azd
テンプレートの GitHub リポジトリで問題を報告することもできます。