Node.js と API バージョンのプロファイル
Node.js SDK を使用すると、アプリのインフラストラクチャの構築と管理に役立ちます。 Node.js SDK の API プロファイルは、グローバル Azure リソースと Azure Stack Hub リソースを切り替えることで、ハイブリッド クラウド ソリューションに役立ちます。 1 回コーディングしてから、グローバル Azure と Azure Stack Hub の両方をターゲットにすることができます。
この記事では、 Visual Studio Code を開発ツールとして使用できます。 Visual Studio Code では、Node.js SDK をデバッグできます。これにより、アプリを実行し、アプリを Azure Stack Hub インスタンスにプッシュできます。 Visual Studio Code から、またはコマンド node <nodefile.js>を実行しているターミナル ウィンドウを使用してデバッグできます。
The Node.js SDK
Node.js SDK には、Azure Stack Hub Resource Manager ツールが用意されています。 SDK のリソース プロバイダーには、コンピューティング、ネットワーク、ストレージ、アプリ サービス、KeyVault が含まれます。 node.js アプリケーションにインストールできる 10 個のリソース プロバイダー クライアント ライブラリがあります。 アプリケーションのメモリを最適化するために 、2020-09-01-profile に使用するリソース プロバイダーを指定することもできます。 各モジュールは、リソース プロバイダー、それぞれの API バージョン、および API プロファイルで構成されます。
API プロファイルは、リソース プロバイダーと API バージョンの組み合わせです。 API プロファイルを使用して、リソース プロバイダー パッケージ内の各リソースの種類の最新かつ最も安定したバージョンを取得できます。
すべてのサービスの最新バージョンを使用するには、パッケージの 最新 プロファイルを使用します。
Azure Stack Hub と互換性のあるサービスを使用するには、@azure/arm-resources-profile-hybrid-2020-09-01 または @azure/arm-storage-profile-2020-09-01-hybrid を使用します
NPM パッケージ
各リソース プロバイダーには、独自のパッケージがあります。 npm レジストリからパッケージを取得できます。
次のパッケージを見つけることができます。
| リソース プロバイダー | パッケージ |
|---|---|
| App Service | @azure/arm-resources-profile-2020-09-01-hybrid |
| Azure Resource Manager サブスクリプション | @azure/arm-subscriptions-profile-hybrid-2020-09-01 |
| Azure Resource Manager ポリシー | @azure/arm-policy-profile-hybrid-2020-09-01 |
| Azure Resource Manager DNS | @azure/arm-dns-profile-2020-09-01-hybrid |
| 認可 | @azure/arm-authorization-profile-2020-09-01-hybrid |
| 計算する | @azure/arm-compute-profile-2020-09-01-hybrid |
| ストレージ | @azure/arm-storage-profile-2020-09-01-hybrid |
| ネットワーク | @azure/arm-network-profile-2020-09-01-hybrid |
| リソース | @azure/arm-resources-profile-hybrid-2020-09-01 |
| Keyvault | @azure/arm-keyvault-profile-2020-09-01-hybrid |
サービスの最新の API バージョンを使用するには、特定のクライアント ライブラリの 最新 プロファイルを使用します。 たとえば、最新の API バージョンのリソース サービスのみを使用する場合は、Resource Management クライアント ライブラリのazure-arm-resource プロファイルを使用します。
リソース プロバイダーの特定の API バージョンに対して、パッケージ内で定義されている特定の API バージョンを使用します。
@azure/arm-resourceprovider-profile-2020-09-01-hybrid
Azure Stack Hub 用に構築された最新のプロファイル。 このプロファイルは、1808 スタンプ以上の場合に限り、Azure Stack Hub と最も互換性のあるサービスに使用します。
@azure-arm-resource
プロファイルは、すべてのサービスの最新バージョンで構成されます。 Azure のすべてのサービスの最新バージョンを使用します。
プロフィール
日付を含むプロファイルの場合、別の SDK プロファイルまたはバージョンを使用するには、 @azure/arm-keyvault-profile-<date>-hybridの日付を置き換えることができます。 たとえば、2008 バージョンの場合、プロファイルは 2019-03-01され、文字列は @azure/arm-keyvault-profile-2019-03-01-hybridになります。 SDK チームがパッケージの名前を変更する場合があるため、文字列の日付を別の日付に置き換えるだけでは機能しない場合があることに注意してください。 プロファイルと Azure Stack のバージョンの関連付けについては、次の表を参照してください。
| Azure Stack のバージョン | プロフィール |
|---|---|
| 2311 | 2020_09_01 |
| 2301 | 2020_09_01 |
| 2206 | 2020_09_01 |
| 2108 | 2020-09-01 |
| 2102 | 2020-09-01 |
| 2008 | 2019-03-01 |
Azure Stack Hub と API プロファイルの詳細については、 API プロファイルの概要を参照してください。
Node.js SDK をインストールする
Git をインストールします。 手順については、「 作業の開始 - Git のインストール」を参照してください。
Node.jsの 現在のバージョン をインストールまたはアップグレードします。 Node.js には 、npm JavaScript パッケージ マネージャーも含まれています。
Visual Studio Code をインストールまたはアップグレードし、Visual Studio Code の Node.js 拡張機能をインストールします。
Azure Stack Hub Resource Manger のクライアント パッケージをインストールします。 詳細については、 クライアント ライブラリをインストールする方法を参照してください。
インストールする必要があるパッケージは、使用するプロファイルのバージョンによって異なります。 リソース プロバイダーの一覧は、 npm の [パッケージ ] セクションにあります。
サブスクリプション
まだサブスクリプションがない場合は、サブスクリプションを作成し、後で使用するサブスクリプション ID を保存します。 サブスクリプションを作成する方法については、このドキュメントを参照 してください。
サービス プリンシパル
サービス プリンシパルとその関連する環境情報を作成し、どこかに保存する必要があります。
owner ロールを持つサービス プリンシパルをお勧めしますが、サンプルによっては、contributorロールで十分な場合があります。 必要な値については、 サンプル リポジトリ の README を参照してください。 これらの値は、JSON ファイル (サンプルで使用) など、SDK 言語でサポートされている任意の形式で読み取れます。 実行されているサンプルによっては、これらの値の一部が使用されるわけではありません。 更新されたサンプル コードまたは詳細情報については 、サンプル リポジトリ を参照してください。
テナント ID
Azure Stack Hub のディレクトリまたはテナント ID を見つけるには、 この記事の手順に従います。
リソース プロバイダーを登録する
このドキュメントに従って、必要なリソース プロバイダーを登録 します。 これらのリソース プロバイダーは、実行するサンプルに応じて必要になります。 たとえば、VM サンプルを実行する場合は、 Microsoft.Compute リソース プロバイダーの登録が必要です。
Azure Stack Resource Manager エンドポイント
Azure Resource Manager (ARM) は、管理者が Azure リソースをデプロイ、管理、監視できるようにする管理フレームワークです。 Azure Resource Manager では、これらのタスクを 1 回の操作で個別に処理するのではなく、グループとして処理できます。 Resource Manager エンドポイントからメタデータ情報を取得できます。 エンドポイントは、コードの実行に必要な情報を含む JSON ファイルを返します。
次の点を考慮してください。
Azure Stack Development Kit (ASDK) の ResourceManagerEndpointUrl は、
https://management.local.azurestack.external/です。統合システムの ResourceManagerEndpointUrl は
https://management.region.<fqdn>/で、<fqdn>は完全修飾ドメイン名です。必要なメタデータを取得するには:
<ResourceManagerUrl>/metadata/endpoints?api-version=1.0
サンプル JSON:
{
"galleryEndpoint": "https://portal.local.azurestack.external:30015/",
"graphEndpoint": "https://graph.windows.net/",
"portal Endpoint": "https://portal.local.azurestack.external/",
"authentication":
{
"loginEndpoint": "https://login.windows.net/",
"audiences": ["https://management.yourtenant.onmicrosoft.com/3cc5febd-e4b7-4a85-a2ed-1d730e2f5928"]
}
}
サンプル
最新のサンプル コードについては 、サンプル リポジトリ を参照してください。 ルート README.md には一般的な要件が記述されており、各サブディレクトリには、そのサンプルを実行する方法に関する独自の README.md を持つ特定のサンプルが含まれています。
次のステップ
API プロファイルの詳細については、以下をご覧ください。