Microsoft Graph Bicep リソースに動的な型を使用する
Microsoft Graph Bicep 拡張機能では動的な型を使用します。これにより、Microsoft Graph ベータ版と v1.0 の両方でセマンティック バージョン管理が可能になります。 動的な型を使用すると、古いバージョンのリソースの種類を使用する既存の Bicep ファイルのデプロイに影響を与えることなく、既存の Microsoft Graph Bicep リソースの種類で将来の破壊的変更を行うことができます。 動的型を使用すると、特定のバージョン管理された Microsoft Graph Bicep 型リポジトリが参照され、Microsoft アーティファクト レジストリからフェッチされます。 これらの型バージョンは、Bicep コンパイラ NuGet パッケージから切り離されています。
動的な型は、main.bicep ファイル内で直接構成するか、main.bicep ファイルで参照できるbicepconfig.json ファイル内のユーザー フレンドリな型バージョン エイリアスを使用して構成する 2 つの方法があります。
種類のバージョンを選択する
Microsoft アーティファクト レジストリから Microsoft Graph Bicep リソースの種類リポジトリへの参照を追加する必要があります。 最新または適切なリポジトリバージョンを見つけるには、Microsoft アーティファクト レジストリに移動し、「Microsoft Graph Bicep 拡張機能」を検索します。 Microsoft Graph ベータ版と v1.0 版の両方のバージョンがあります。
Bicep ファイルで動的な型を構成する
main.bicep ファイルでは、使用する Microsoft Graph Bicep 型リポジトリ バージョンを参照できます。<v1.0-version>
プレースホルダーは、Microsoft Graph v1.0 に使用する型のバージョンに置き換えます。
extension 'br:mcr.microsoft.com/bicep/extensions/microsoftgraph/v1.0:<v1.0-version>'
同じ Bicep ファイルでベータ 版を指定し、両方のバージョンの型を使用することもできます。
extension 'br:mcr.microsoft.com/bicep/extensions/microsoftgraph/v1.0:<v1.0-version>'
extension 'br:mcr.microsoft.com/bicep/extensions/microsoftgraph/beta:<beta-version>'
// using Microsoft Graph v1.0
resource group 'Microsoft.Graph/groups@v1.0' existing = {
uniqueName: groupName
}
// using Microsoft Graph beta
resource app 'Microsoft.Graph/applications@beta' existing = {
uniqueName: appName
}
さらに、古い Bicep 型バージョンと新しい Bicep 型バージョンを使用するリソースを宣言することもできます。 この例では、古い型と新しい型を使用する方法を示します。 完全修飾型名を使用して、2 つの異なるインポートされた拡張機能で使用できる同じ名前の型の間であいまいさを解消します。
extension 'br:mcr.microsoft.com/bicep/extensions/microsoftgraph/v1.0:<v1.0-version-latest>' as latestGraphV1
extension 'br:mcr.microsoft.com/bicep/extensions/microsoftgraph/v1.0:<v1.0-version-older>' as olderGraphV1
// using the latest version of the Microsoft Graph v1.0 Bicep types
resource group 'latestGraphV1:Microsoft.Graph/groups@v1.0' existing = {
uniqueName: groupName
}
// using and older version of the Microsoft Graph v1.0 Bicep types
resource app 'olderGraphV1:Microsoft.Graph/applications@v1.0' existing = {
uniqueName: appName
}
Bicep 構成で動的な型を構成する
bicepconfig.json ファイルで使用する Microsoft Graph Bicep 型リポジトリ バージョンを参照するわかりやすいエイリアスを指定し、<v1.0-version>
と<beta-version>
プレースホルダーを使用する型のバージョンに置き換えることができます。
{
"experimentalFeaturesEnabled": {
"extensibility": true
},
"extensions": {
"graphV1": "br:mcr.microsoft.com/bicep/extensions/microsoftgraph/v1.0:<v1.0-version>",
"graphBeta": "br:mcr.microsoft.com/bicep/extensions/microsoftgraph/beta:<beta-version>"
}
}
これらのエイリアスは、使用する拡張子を指定するときに、 main.bicep ファイルで使用できます。 示されているように、v1.0 とベータ拡張機能の使用を宣言できます。これにより、Microsoft Graph v1.0 および Microsoft Graph ベータ 版のリソースを宣言できます。
extension graphV1
extension graphBeta
// using Microsoft Graph v1.0
resource group 'Microsoft.Graph/groups@v1.0' existing = {
uniqueName: groupName
}
// using Microsoft Graph beta
resource app 'Microsoft.Graph/applications@beta' existing = {
uniqueName: appName
}
Note
また、 bicepconfig.json ファイル内の同じ Microsoft Graph バージョン (Microsoft Graph v1.0 の新しい古い Bicep 型バージョンなど) から異なる型バージョンのエイリアスを宣言し、 main.bicep ファイル内のこれらのエイリアスを参照して、拡張機能をインポートし、完全修飾型名を使用してリソースを宣言することもできます。
組み込み型から動的型の使用に移行する
Microsoft Graph Bicep 型は、Bicep コンパイラ NuGet パッケージにも組み込まれています。 この NuGet パッケージには、Microsoft Graph ベータ版と v1.0 の両方の Microsoft Graph 型定義が含まれています。 組み込み型は、2024 年 9 月より前に使用可能な唯一のオプションでした。
重要
組み込み型は非推奨となり、2025 年 1 月 24 日に廃止されます。 提供終了日まで、 extension microsoftGraph
で示される組み込み型は、新しい動的型と共存します。 Microsoft Graph Bicep 型の変更は、新しいバージョンの動的な型でのみ使用できます。
組み込み型から動的型に切り替えます。
VS Code を起動し、 main.bicep ファイルと bicepconfig.json ファイルが格納されているフォルダーを開きます。
main.bicep ファイルには、
microsoftGraph
組み込み拡張機能の下に警告が表示されます。 警告の上にカーソルを置くと、詳細が表示されます。この問題を解決するには、警告の詳細の下部にある Quick Fix リンクを選択します。