共用方式為


參考現有的資源

Bicep 可讓您使用 現有的關鍵詞,依其唯一名稱來參考現有的 資源。 原本在 Bicep 檔案部署外部建立的應用程式或群組等 Microsoft Graph 資源不太可能設定其唯一的名稱屬性。 本文說明如何回填這些資源的唯一名稱屬性,以便在 Bicep 檔案中重新部署或參考它們。

重要

Microsoft Graph Bicep 目前處於預覽狀態。 請參閱 Microsoft Azure 預覽版增補使用規定,以了解適用於 Azure 功能 (搶鮮版 (Beta)、預覽版,或尚未正式發行的版本) 的法律條款。

必要條件

  • 請確定您擁有最低許可權或角色來更新現有的資源,或您是資源的擁有者。 請參閱依工作預設用戶權力的最低特殊許可權角色,以查看您需要指派哪些角色。
  • 安裝 Azure CLI 或 Azure PowerShell。

回填唯一名稱

下列範例示範如何使用下列 Azure CLI 或 Azure PowerShell 來回填群組和應用程式的唯一名稱,假設您已經登入。

az rest --method patch --url 'https://graph.microsoft.com/v1.0/groups/<replace-with-ID-of-your-group>' --body '{\"uniqueName\": \"TestGroup-2024-05-10\"}' --headers "content-type=application/json"
az rest --method patch --url 'https://graph.microsoft.com/v1.0/applications/<replace-with-ID-of-your-application>' --body '{\"uniqueName\": \"TestApp-2024-05-10\"}' --headers "content-type=application/json"

在 Bicep 中使用現有的資源

  1. 啟動 Visual Studio Code 並建立兩個新檔案 main.bicepbicepconfig.json,確定它們位於相同的資料夾中。

  2. 藉由設定bicepconfig.json來啟用某些預覽功能:

  {
      "experimentalFeaturesEnabled": {
      "extensibility": true
      }
  }
  1. main.bicep 中,新增下列 Bicep 程式代碼,其會使用 existing 關鍵詞,依其唯一名稱 TestGroup-2024-05-10 參考群組,以及依據 TestApp-2024-05-10的應用程式:
  extension microsoftGraph

  @description('Group to use')
  param groupName string = 'TestGroup-2024-05-10'

  @description('App to use')
  param appName string = 'TestApp-2024-05-10'

  resource group 'Microsoft.Graph/groups@v1.0' existing = {
      uniqueName: groupName
  }

  resource application 'Microsoft.Graph/applications@v1.0' existing = {
      uniqueName: appName
  }

  output groupId string = group.id
  output applicationId string = application.id
  1. 使用 Azure CLI 或 Azure PowerShell 部署 Bicep 檔案
  az deployment group create --resource-group exampleRG --template-file main.bicep
  DeploymentName          : main
  ResourceGroupName       : exampleRG
  ProvisioningState       : Succeeded
  Timestamp               : 18/04/2024 16:16:42
  Mode                    : Incremental
  TemplateLink            :
  Parameters              :
                          Name             Type                       Value
                          ===============  =========================  ==========
                          groupName        String                     "TestGroup-2024-05-10"
                          appName          String                     "TestApp-2024-05-10"


  Outputs                 :
                          Name             Type                       Value
                          ===============  =========================  ==========
                          group-id         String                     "<ID-of-your-group>"
                          app-id           String                     "<ID-of-your-app>"