Azure Stack Hub での .NET による API バージョンのプロファイルの使用

重要

.NET SDK がトラック 1 からトラック 2 に更新されました。 できるだけ早くトラック 2 SDK に移行することを強くお勧めします。 手順については、 こちらの移行ガイド を参照してください。

Azure Stack Hub Resource Manager 向けの .NET SDK には、インフラストラクチャの構築と管理に役立つツールが用意されています。 SDK のリソース プロバイダーには、Compute、Networking、Storage、App Services、および KeyVault が含まれます。 .NET SDK には、14 個の NuGet パッケージが含まれています。 非推奨のトラック 1 .NET SDK (推奨されていません) を使用している場合、これらのパッケージは、 2020-09-01-hybrid2019-03-01-hybrid などの API プロファイルでバージョン管理されます。 .NET SDK の API プロファイルを使用すると、グローバルな Azure リソースと Azure Stack Hub リソースを切り替えるのに役立つハイブリッド クラウド開発が可能になります。 詳細については、「 .NET と API のバージョン プロファイル 」セクションを参照してください。

Azure .NET SDK のインストール

.NET と API バージョンのプロファイル

API プロファイルは、リソース プロバイダーと API バージョンを組み合わせたものです。 API プロファイルを使用して、リソース プロバイダーのパッケージに含まれる各リソースの種類の、最も安定した最新バージョンを取得します。

注意

NuGet パッケージ仕様の ResourceProvider 部分を変更する必要があります。 さらに、トラック 1 .NET SDK のパッケージは非推奨であるため、エラーが発生する可能性があります。 できるだけ早くトラック 2 .NET SDK に更新することをお勧めします。

Profiles

日付を含むプロファイルの場合、別の SDK プロファイルまたはバージョンを使用するには、Microsoft.Azure.Management.Profiles.hybrid_<date>.ResourceManager 内の日付を置き換えます。 たとえば、2008 バージョンの場合、プロファイルは 2019_03_01 で、文字列は Microsoft.Azure.Management.Profiles.hybrid_2019_03_01.ResourceManager になります。 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 プロファイルの概要」をご覧ください。

サブスクリプション

サブスクリプションをまだ用意していない場合は、サブスクリプションを作成し、後で使用できるようにサブスクリプション 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 では、これらのタスクを個別に処理するのではなく、グループとして単一の操作で処理することができます。 Resource Manager エンドポイントからメタデータ情報を取得できます。 エンドポイントは、コードを実行するために必要な情報と共に、JSON ファイルを返します。

  • Azure Stack Development Kit (ASDK) の ResourceManagerEndpointUrlhttps://management.local.azurestack.external/ です。
  • 統合システムの ResourceManagerEndpointUrlhttps://management.region.<fqdn>/ です。ここで、<fqdn> は完全修飾ドメイン名です。
  • 必要なメタデータを取得するには、<ResourceManagerUrl>/metadata/endpoints?api-version=1.0 になります。 利用可能な API バージョンについては、Azure REST API の仕様を参照してください。 たとえば、プロファイル バージョン 2020-09-01 では、api-version を、リソース プロバイダー 2019-10-01 用の microsoft.resources に変更することができます。

サンプル 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"]
      }
}

サンプル

更新日 (トラック 2) サンプル コードについては、 このサンプル リポジトリ を参照してください。 トラック 1 サンプル コードについては、 こちらのサンプル リポジトリ を参照してください。 ルート README.md には一般的な要件が記述されており、各サブディレクトリには、そのサンプルの実行方法を説明する独自 README.md のサンプルが含まれています。

Azure Stack バージョン 2008 またはプロファイル 2019-03-01 以前に適用できるサンプルについては、こちらを参照してください。

次のステップ

API プロファイルに関する詳細情報