Python 用 Azure ライブラリ (SDK) を使用する
オープンソースである Python 用 Azure ライブラリによって、Python アプリケーション コードからの Azure リソースのプロビジョニング、管理、使用が容易になります。
重要情報
Azure ライブラリは、ローカルまたはクラウドで実行する Python コード "から" の Azure サービスとの通信手段です (特定のサービスのスコープ内で Python コードを実行できるかどうかは、そのサービス自体で Python がサポートされるかどうかによります)。
ライブラリは Python 3.8 以降をサポートしています。 サポートされているバージョンの Python の詳細については、Azure SDK Python バージョンのサポート ポリシーに関するページを参照してください。 PyPy を使用している場合は、少なくとも使用するバージョンで、以前にメンションされた Python バージョンがサポートされていることを確認してください。
Azure SDK for Python は、特定の Azure サービスに関連した 180 を超える個別の Python ライブラリのみで構成されています。 "SDK" には他のツールはありません。
コードをローカルで実行する場合、Azure での認証は、「Azure SDK for Python を使用して Azure サービスに対して Python アプリを認証する方法」の説明に従って環境変数に依存します。
pip を使用してライブラリパッケージをインストールするには、パッケージ インデックスのライブラリ名を使用して
pip install <library_name>
を使用します。 conda 環境にライブラリ パッケージをインストールするには、anaconda.org の Microsoft チャネルの名前を使用conda install <package_name>
します。詳細については、「Azure ライブラリ パッケージのインストール」を参照してください。管理とクライアントという別個のライブラリが存在します ("管理プレーン" および "データ プレーン" のライブラリと呼ばれることもあります)。 各セットはさまざまな目的を果たし、さまざまな種類のコードで使用されます。 詳細については、この記事の後の方にある次のセクションを参照してください。
ライブラリのドキュメントは、Azure for Python のリファレンス (Azure サービスごとに編成) または Python API ブラウザー (パッケージ名ごとに編成) でご覧いただけます。
自分でライブラリを試すには、まず、ローカルの開発環境を設定することをお勧めします。 その後、(任意の順序 で) 次のスタンドアロンの例のいずれかを試すことができます。例: リソース グループの作成、 例: Azure Storage の作成と使用、 例: Web アプリの作成とデプロイ、 例: MySQL データベースの作成とクエリ、例 : 仮想マシンの作成。
デモ ビデオについては、Azure SDK for Python (PyCon 2021) の概要と Azure SDK を使用した Azure リソースの操作 (PyCon 2020) に関するページを参照してください。
必須ではないが興味深い詳細情報
Azure CLI は管理ライブラリを使用して Python で記述されているため、Azure CLI コマンドを使用してできることはすべて、Python スクリプトから行うこともできます。 とはいえ、CLI コマンドには、複数のタスクを同時に実行する、非同期操作を自動的に処理する、接続文字列のように出力の書式を設定するといった、便利な機能が数多く用意されています。 そのため、プロセスをより厳密に制御する必要がない限り、 CLI (または同等の Azure PowerShell) を使用して、同等の Python コードを記述するよりも、自動化された作成スクリプトと管理スクリプトを使用する方が便利です。
Python 用 Azure ライブラリは、基になる Azure REST API の上に構築されているため、使い慣れた Python パラダイムを通じてこれらの API を使用できます。 ただし、REST API は、必要に応じていつでも Python コードから直接使用できます。
Azure ライブラリのソース コードは、https://github.com/Azure/azure-sdk-for-python にあります。 オープンソース プロジェクトとして、皆さんの参加を歓迎します。
ライブラリは、IronPython や Jython などのインタープリターと共に使用できますが、それらに対するテストは行われていません。個別の問題や非互換性が発生する場合があります。
ライブラリ API リファレンス ドキュメントのソース リポジトリは、https://github.com/MicrosoftDocs/azure-docs-sdk-python/ にあります。
2019 年から、Azure Python ライブラリが更新され、認証プロトコル、ログ記録、トレース、トランスポート プロトコル、バッファー応答、再試行などの一般的なクラウド パターンが共有されました。 更新されたライブラリは、現在の Azure SDK ガイドラインに 準拠しています。
2023 年 3 月 31 日に、現在の Azure SDK ガイドラインに準拠していない Azure SDK ライブラリのサポートは廃止されました。 古いライブラリは 2023 年 3 月 31 日を超えて使用できますが、Microsoft から公式のサポートと更新プログラムを受け取らなくなります。 詳細については、「Azure SDK ライブラリを更新する」を参照してください。
Azure SDK のセキュリティとパフォーマンスの更新プログラムが不足しないようにするには、2023 年 3 月 31 日までに最新の Azure SDK ライブラリにアップグレードします。
影響を受ける Python ライブラリをチェックするには、「Azure SDK Deprecated Releases for Python」を参照してください。
ライブラリに適用されるガイドラインの詳細については、Python ガイドライン: 概要を参照してください。
管理ライブラリを使用して Azure リソースを作成および管理する
SDK の 管理 (または "管理プレーン") ライブラリは、すべて始まる azure-mgmt-
名前で、Python スクリプトから Azure リソースを作成、構成、管理するのに役立ちます。 すべての Azure サービスには、対応する管理ライブラリがあります。 詳細については、「Azure コントロール プレーンとデータ プレーン」を参照してください。
管理ライブラリを使用すると、Azure portal または Azure CLI で行うのと同じタスクを実行する構成またはデプロイのスクリプトを作成することができます。 (既に述べたように、Azure CLI は Python で記述されており、その各種コマンドは管理ライブラリを使用して実装されています。)
次の例は、いくつかの主要な管理ライブラリを使用する方法を示しています。
- リソース グループを作成します
- サブスクリプション内のリソース グループを一覧表示する
- Azure Storage アカウントと BLOB ストレージ コンテナーを作成する
- Web アプリを作成して App Service にデプロイする
- Azure MySQL データベースを作成してクエリを実行する
- 仮想マシンを作成する
各管理ライブラリでの操作の詳細については、SDK GitHub リポジトリ内のライブラリのプロジェクト フォルダーにある README.md または README.rst ファイルを参照してください。 また、その他のコード スニペットについては、リファレンス ドキュメントおよび Azure のサンプルで確認できます。
古い管理ライブラリからの移行
古いバージョンの管理ライブラリからコードを移行する場合は、次の詳細を参照してください。
ServicePrincipalCredentials
クラスを使用する場合は、「トークン資格情報による認証」を参照してください。- 「ライブラリの使用パターン - 非同期操作」の説明に従って、非同期 API の名前が変更されました。 新しいライブラリの非同期 API の名前は、次で始まります
begin_
。 ほとんどの場合、API 署名は変わりません。
クライアント ライブラリを使用して Azure リソースに接続し、そのリソースを使用する
SDK の "クライアント" ("データ プレーン") ライブラリを使用すると、既にプロビジョニングされたサービスとやり取りする Python アプリケーション コードを記述するのに役立ちます。 クライアント ライブラリは、クライアント API をサポートするサービスに対してのみ存在します。
記事「 例: Azure Storage を使用する」では、クライアント ライブラリを使用する基本的な図を示します。
これらのライブラリを使用した例は、さまざまな Azure サービスでも提供されています。 その他のリンクについては、次のインデックス ページを参照してください。
各クライアント ライブラリでの操作の詳細については、SDK の GitHub リポジトリ内のライブラリのプロジェクト フォルダーにある README.md または README.rst ファイルを参照してください。 また、その他のコード スニペットについては、リファレンス ドキュメントおよび Azure のサンプルで確認できます。
SDK チームによるサポートと連絡先
- Python 用 Azure ライブラリのドキュメントをご覧ください。
- ご質問は、Stack Overflow のコミュニティに投稿してください。
- GitHub でこの SDK に対して問題を開いてください。
- Twitter で @AzureSDK をメンションしてください。
- Azure SDK for Python に関する簡単なアンケートを完了する
次のステップ
任意の Python 用 Azure ライブラリを簡単に使用できるように、ローカル開発環境の一時的なセットアップを行うことを強くお勧めします。