Azure Stack Hub での GO による API バージョンのプロファイルの使用
GO と バージョン プロファイル
プロファイルとは、各種のサービスから異なるバージョンのさまざまなリソースの種類を組み合わせたものです。 プロファイルを使用すると、さまざまなリソースの種類を取り混ぜてマッチングできます。 プロファイルには次の利点があります。
- 特定の API バージョンをロックすることによる、アプリの安定性。
- Azure Stack Hub および地域の Azure データセンターでのアプリの互換性。
Go SDK では、このプロファイル パス以下のプロファイルを使用できます。 プロファイルのバージョン番号は、YYYY-MM-DD 形式でラベル付けされます。 たとえば、Azure Stack Hub バージョン 2102 以降の場合、Azure Stack Hub API プロファイル バージョンは 2020-09-01 です。 特定のサービスをプロファイルからインポートするには、プロファイルから該当するモジュールをインポートします。 たとえば、Compute サービスを 2020-09-01 プロファイルからインポートするには、次のコードを使用します。
import "github.com/Azure/azure-sdk-for-go/profiles/2020-09-01/compute/mgmt/compute"
Azure SDK for Go のインストール
- GIT をインストールします。 「はじめに - Git のインストール」を参照してください。
- Go をインストールします。 Azure 用の API プロファイルでは、Go バージョン 1.9 以降が必要です。 Go プログラミング言語に関するページを参照してください。
Profiles
別の SDK プロファイルまたはバージョンを使うには、github.com/Azure/azure-sdk-for-go/profiles/<date>/storage/mgmt/storage
などのインポート ステートメントで日付を置き換えます。 たとえば、2008 バージョンの場合、プロファイルは 2019-03-01
で、文字列は github.com/Azure/azure-sdk-for-go/profiles/2019-03-01/storage/mgmt/storage
になります。 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 プロファイルの概要」をご覧ください。
Go SDK のプロファイルに関するページを参照してください。
サブスクリプション
サブスクリプションをまだ用意していない場合は、サブスクリプションを作成し、後で使用できるようにサブスクリプション 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) の ResourceManagerEndpointUrl は
https://management.local.azurestack.external/
です。 - 統合システムの ResourceManagerEndpointUrl は
https://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"]
}
}
サンプル
最新のサンプル コードについては、サンプル リポジトリを参照してください。 ルートの README.md
には一般的な要件が説明されています。また、各サブディレクトリには、個別のサンプルとそのサンプルを実行する方法に関する独自の README.md
が格納されています。
Azure Stack バージョン 2008
またはプロファイル 2019-03-01
以前に適用できるサンプルについては、こちらを参照してください。
次のステップ
API プロファイルに関する詳細情報