共用方式為


使用動態型別來利用 Microsoft Graph Bicep 的資源

Microsoft Graph Bicep 延伸模組會使用動態類型,以針對 Microsoft Graph beta 和 v1.0 啟用語意版本控制。 使用動態類型可讓您在未來對現有Microsoft Graph Bicep 資源類型進行重大變更,而不會影響使用舊版這些資源類型的現有 Bicep 檔案的部署。 當您使用動態類型時,會從 Microsoft Artifact Registry 中參考並擷取特定版本的 Microsoft Graph Bicep 類型存放庫。 這些類型版本會與 Bicep 編譯程式 NuGet 套件分離。

有兩種方式可以設定動態類型:可以直接在 main.bicep 檔案內進行設定,或者在 bicepconfig.json 檔案中使用易於記憶的類型版本別名,然後在 main.bicep 檔案中引用。

選擇類型版本

您需要從 Microsoft 套件註冊表中添加 Microsoft Graph Bicep 資源庫類型的參考。 若要尋找最新或合適的存放庫版本,請移至 Microsoft 工件註冊表 並搜尋「Microsoft Graph Bicep 擴充功能」。 Microsoft Graph beta 和 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 檔案中指定 Beta 版本,然後使用這兩個版本的類型。

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 類型版本的資源。 此範例示範如何使用較舊且較新的類型。 它會使用完整類型名稱,區分兩個不同匯入延伸模組中可用的相同名稱類型:

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 和 beta 延伸模組的使用,這可讓您從 Microsoft Graph v1.0 和 Microsoft Graph Beta 版本宣告資源。

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
}

注意

您也可以從相同的 Microsoft Graph 版本宣告不同類型版本的別名(例如Microsoft Graph v1.0 的較新版本和較舊的 Bicep 類型版本 bicepconfig.json),並在匯入擴展名並使用完整類型名稱宣告資源時,參考 main.bicep 檔案中的這些別名。

從內建類型移轉至使用動態類型

Microsoft Graph Bicep 類型也內建於 Bicep 編譯程式 NuGet 套件中。 此 NuGet 套件包含 Microsoft Graph beta 和 v1.0 Microsoft Graph 類型定義。 內建類型是 2024 年 9 月之前唯一可用的選項。

重要

內建類型已被取代,將於 2025 年 1 月 24 日淘汰。 在淘汰日期之前,內建類型extension microsoftGraph會與新的動態類型共存。 Microsoft Graph Bicep 的任何類型變更只能在新版本的動態類型中使用。

從內建類型切換至動態類型:

  1. 啟動 VS Code 並開啟包含 main.bicep bicepconfig.json 檔案的資料夾。

  2. main.bicep檔案中,內建擴充功能microsoftGraph下會出現警告。 將游標暫留在警告上方,以查看詳細數據。

    內建Microsoft Graph Bicep 類型警告

  3. 若要修正此問題,請選取 警告詳細數據底部的 [快速修正] 連結。