Azure での Python の概要
クラウド用のアプリケーションを初めて開発する場合は、この 8 つの短いシリーズ記事から始めることをおすすめします。
- パート1: 開発者向けの Azure の概要
- パート 2: 開発者向けの主要な Azure サービス
- パート 3: Azure でアプリケーションをホストする
- パート 4: アプリを Azure サービスに接続する
- パート 5: Azure でリソースを作成および管理する方法
- パート 6: Azure アプリを構築するための主要な概念
- パート 7: 請求方法
- パート 8: Azure サービス、SDK、CLI ツールのバージョン ポリシー
Azure アカウントを作成する
Azure で Python アプリケーションを開発するには、Azure アカウントが必要です。 Azure アカウントは、Azure へのサインインに使用する資格情報で、Azure リソースの作成に使用するものです。
職場で Azure を使用している場合は、会社のクラウド管理者に問い合わせて、Azure へのサインインに使用する資格情報を入手します。
それ以外の場合は、Azure の無料アカウントを作成して、人気のあるサービスへの 12 か月間無料のアクセスと 200 ドル分のクレジットを受け取り、Azure を 30 日間探索することができます。
リソースの作成と管理
データベース、メッセージ キュー、ファイル ストレージなどの Azure リソースを使用するには、まずリソースのインスタンスを作成する必要があります。 リソースの作成手順は以下のとおりです。
- 容量またはコンピューティング オプションの選択
- リソース グループへの新しいリソースの追加
- サービスが実行される世界のリージョンの選択
- サービスへの一意の名前の設定
シナリオに応じて、Azure リソースの作成と管理に使用できるツールがいくつかあります。
- Azure portal - Azure の使用が初めてで、Web ベースのユーザー インターフェイスでいくつかのリソースを作成および管理する場合。
- Azure CLI - コマンド ライン インターフェイスに慣れている場合。
- Azure PowerShell - CLI で PowerShell スタイルの構文を使用する場合。
- Azure Developer CLI - 複雑な依存関係を持つ多くの Azure リソースを含む反復可能なデプロイを作成する場合。 Bicep テンプレートを命令型言語で学習する必要があります。
- Azure Tools 拡張機能パック - 拡張機能パックには、最も人気のある Azure サービスの一部を 1 つの便利なパッケージで操作するための拡張機能が含まれています。
Azure Management Libraries for Python を使用してリソースを作成および管理することもできます。 管理ライブラリでは、Python を使用してカスタム デプロイと管理機能を実装できます。 開始に役立つ記事をいくつか次に示します。
Python アプリを記述する
Azure での開発には、Python 3.8 以降が必要です。 ワークステーション上の Python のバージョンを確認するには、コンソール ウィンドウで、コマンド python3 --version
(macOS/Linux の場合) または py --version
(Windows の場合) を入力します。
お気に入りのツールを使用して Python アプリを記述します。 Visual Studio Code を使用する場合は、Visual Studio Code 用の Python 拡張機能を試してください。
この一連の記事の手順の大半では、ベスト プラクティスに従って仮想環境を使用します。 任意の仮想環境を自由に使用できますが、venv
に関する記事の手順は標準化されています。
クライアント ライブラリの使用
作業を開始するときに、pip
ユーティリティを使用してインストールして参照する Azure ライブラリ上の Python について説明します。
ある時点で、記事の指示に従わずに、Azure SDK for Python クライアント ライブラリをインストールして参照することができます。 「Azure SDK の概要」から始めることをおすすめします。
Azure に対してアプリを認証する
Azure SDK for Python を使用する場合は、アプリ自体を認証する必要があります。 アプリの認証方法は、開発とテスト中にアプリをローカルで実行するか、独自のサーバーでアプリをホストするか、Azure でアプリをホストするかによって異なります。 Azure における認証の詳細については、「Azure SDK for Python を使用して Azure サービスに対して Python アプリを認証する方法」を参照してください。
どの ID (サービス プリンシパルまたはアプリケーション ID) がそれらのリソースにアクセスできるかを制御するアクセス ポリシーも設定する必要があります。 アクセス ポリシーは、Azure ロールベースのアクセス制御 (RBAC) を使用して管理されます。一部のサービスには、固有のアクセス制御もあります。 セキュリティ上の懸念があるほぼすべてのリソースで Azure RBAC を使用することになるため、Azure を使用するクラウド開発者は、これについてよく理解しておく必要があります。
横断的関心事を追加する
- Azure Key Vault を使用してアプリケーション シークレットを管理する
- Azure Monitor を使用してログを記録することでアプリを可視化する
Python アプリをホストする
アプリ コードを Azure で実行する場合は、「Azure でアプリケーションをホストする」で説明されているようにいくつかのオプションがあります。
Web アプリまたは API (Django、Flask、FastAPI など) を構築する場合は、次の点を考慮してください。
Web アプリケーションを構築する場合は、「Python Web アプリを Azure にデプロイするためのローカル環境を構成する」を参照してください。
Web API を構築する場合は、Azure API Management の使用を検討する必要があります。
バックエンド プロセスを構築する場合: