Microsoft Graph Bicep 拡張機能では動的な型がサポートされており、Microsoft Graph ベータ版と v1.0 の両方にセマンティック バージョン管理を使用できます。 動的な型を使用すると、特定のバージョンの Microsoft Graph Bicep リソースの種類を使用できるため、今後の破壊的変更は既存の Bicep ファイルには影響しません。 動的型を使用すると、Bicep は Microsoft Artifact Registry から必要な型バージョンを取得します。 これらの型バージョンは、Bicep コンパイラ NuGet パッケージとは無関係です。
動的な型は、次の 2 つの方法で構成できます。
- main.bicep ファイル内で直接。
- bicepconfig.json ファイルでわかりやすい型のバージョン エイリアスを定義し、main.bicep で参照します。
バージョンの種類を選択する
Microsoft Graph Bicep リソースの種類を使用するには、Microsoft Artifact Registry の型リポジトリへの参照を追加します。 Microsoft Artifact Registry に移動し、"Microsoft Graph Bicep 拡張機能" を検索して、Microsoft Graph ベータおよび v1.0 の最新バージョンまたは必要なバージョンを見つけます。
Bicep ファイルで動的な型を構成する
main.bicep ファイルで、目的の Microsoft Graph Bicep 型リポジトリ バージョンを参照します。 Microsoft Graph v1.0 の種類のバージョンとして使用したいものに <v1.0-version> を置き換えます。
extension 'br:mcr.microsoft.com/bicep/extensions/microsoftgraph/v1.0:<v1.0-version>'
同じファイル内の両方のバージョンの型を使用することもできます。
extension 'br:mcr.microsoft.com/bicep/extensions/microsoftgraph/v1.0:<v1.0-version>'
extension 'br:mcr.microsoft.com/bicep/extensions/microsoftgraph/beta:<beta-version>'
// Use Microsoft Graph v1.0
resource group 'Microsoft.Graph/groups@v1.0' existing = {
uniqueName: groupName
}
// Use Microsoft Graph beta
resource app 'Microsoft.Graph/applications@beta' existing = {
uniqueName: appName
}
異なる型バージョンを使用してリソースを宣言します。 同じ名前の型と異なる拡張子を区別するには、完全修飾型名を使用します。
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
// Use the latest Microsoft Graph v1.0 Bicep types
resource group 'latestGraphV1:Microsoft.Graph/groups@v1.0' existing = {
uniqueName: groupName
}
// Use an older Microsoft Graph v1.0 Bicep type version
resource app 'olderGraphV1:Microsoft.Graph/applications@v1.0' existing = {
uniqueName: appName
}
Bicep 設定で動的な型を設定する
bicepconfig.jsonで Microsoft Graph Bicep 型バージョンのわかりやすいエイリアスを定義します。
<v1.0-version>と<beta-version>を目的のバージョンに置き換えます。
{
"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 ファイルで次のエイリアスを使用します。
extension graphV1
extension graphBeta
// Use Microsoft Graph v1.0
resource group 'Microsoft.Graph/groups@v1.0' existing = {
uniqueName: groupName
}
// Use Microsoft Graph beta
resource app 'Microsoft.Graph/applications@beta' existing = {
uniqueName: appName
}
また、bicepconfig.jsonで同じ Microsoft Graph バージョン (新しいバージョンや古い v1.0 型など) から異なる型バージョンのエイリアスを 定義し、 完全修飾型名を使用して main.bicep で参照することもできます。
たとえば、 bicepconfig.jsonでは次のようになります。
{
"extensions": {
"graphV1Latest": "br:mcr.microsoft.com/bicep/extensions/microsoftgraph/v1.0:0.2.0-preview",
"graphV1Older": "br:mcr.microsoft.com/bicep/extensions/microsoftgraph/v1.0:0.1.8-preview"
}
}
次に、 main.bicep で次のようにします。
extension graphV1Latest
extension graphV1Older
// Use the latest Microsoft Graph v1.0 Bicep types
resource group 'graphV1Latest:Microsoft.Graph/groups@v1.0' existing = {
uniqueName: groupName
}
// Use an older Microsoft Graph v1.0 Bicep type version
resource app 'graphV1Older:Microsoft.Graph/applications@v1.0' existing = {
uniqueName: appName
}