Module-instellingen toevoegen in het Bicep-configuratiebestand

In een bicepconfig.json-bestand kunt u aliassen maken voor modulepaden en profiel- en referentieprioriteit configureren voor het publiceren en herstellen van modules.

In dit artikel worden de instellingen beschreven die beschikbaar zijn voor het werken met Bicep-modules.

Aliassen voor modules

Maak aliassen in het configuratiebestand om het pad voor het koppelen aan modules te vereenvoudigen. Een alias verwijst naar een moduleregister of een resourcegroep die sjabloonspecificaties bevat.

Het configuratiebestand heeft een eigenschap voor moduleAliases. Deze eigenschap bevat alle aliassen die u definieert. Onder deze eigenschap worden de aliassen verdeeld op basis van of ze verwijzen naar een register of een sjabloonspecificatie.

Als u een alias voor een Bicep-register wilt maken, voegt u een br eigenschap toe. Als u een alias voor een sjabloonspecificatie wilt toevoegen, gebruikt u de ts eigenschap.

{
  "moduleAliases": {
    "br": {
      <add-registry-aliases>
    },
    "ts": {
      <add-template-specs-aliases>
    }
  }
}

Voeg binnen de br eigenschap zoveel aliassen toe als u nodig hebt. Geef voor elke alias een naam en de volgende eigenschappen op:

  • register (vereist): naam van registeraanmeldingsserver
  • modulePath (optioneel): registeropslagplaats waarin de modules worden opgeslagen

Voeg binnen de ts eigenschap zoveel aliassen toe als u nodig hebt. Geef voor elke alias een naam en de volgende eigenschappen op:

  • abonnement (vereist): de abonnements-id die als host fungeert voor de sjabloonspecificaties
  • resourceGroup (vereist): de naam van de resourcegroep die de sjabloonspecificaties bevat

In het volgende voorbeeld ziet u een configuratiebestand dat twee aliassen definieert voor een moduleregister en één alias voor een resourcegroep die sjabloonspecificaties bevat.

{
  "moduleAliases": {
    "br": {
      "ContosoRegistry": {
        "registry": "contosoregistry.azurecr.io"
      },
      "CoreModules": {
        "registry": "contosoregistry.azurecr.io",
        "modulePath": "bicep/modules/core"
      }
    },
    "ts": {
      "CoreSpecs": {
        "subscription": "00000000-0000-0000-0000-000000000000",
        "resourceGroup": "CoreSpecsRG"
      }
    }
  }
}

Wanneer u een alias in de modulereferentie gebruikt, moet u de volgende indelingen gebruiken:

br/<alias>:<file>:<tag>
ts/<alias>:<file>:<tag>

Definieer uw aliassen voor de map of resourcegroep die modules bevat, niet het bestand zelf. De bestandsnaam moet worden opgenomen in de verwijzing naar de module.

Zonder de aliassen zou u een koppeling maken naar een module in een register met het volledige pad.

module stgModule 'br:contosoregistry.azurecr.io/bicep/modules/core/storage:v1' = {

Met de aliassen kunt u de koppeling vereenvoudigen met behulp van de alias voor het register.

module stgModule 'br/ContosoRegistry:bicep/modules/core/storage:v1' = {

U kunt de koppeling ook vereenvoudigen met behulp van de alias waarmee het register- en modulepad wordt opgegeven.

module stgModule  'br/CoreModules:storage:v1' = {

Voor een sjabloonspecificatie gebruikt u:

module stgModule  'ts/CoreSpecs:storage:v1' = {

Er is een alias gedefinieerd voor het register van de openbare module. Als u naar een openbare module wilt verwijzen, kunt u de volgende indeling gebruiken:

br/public:<file>:<tag>

U kunt de definitie van de registeralias van de openbare module overschrijven in het bicepconfig.json-bestand:

{
  "moduleAliases": {
    "br": {
      "public": {
        "registry": "<your_module_registry>",
        "modulePath": "<optional_module_path>"
      }
    }
  }
}

Profielen en referenties configureren

Als u modules wilt publiceren naar een privémoduleregister of om externe modules te herstellen naar de lokale cache, moet het account over de juiste machtigingen beschikken om toegang te krijgen tot het register. U kunt het Bicep-configuratiebestand handmatig configureren currentProfile voor credentialPrecedenceverificatie bij het register.

{
  "cloud": {
    "currentProfile": "AzureCloud",
    "profiles": {
      "AzureCloud": {
        "resourceManagerEndpoint": "https://management.azure.com",
        "activeDirectoryAuthority": "https://login.microsoftonline.com"
      },
      "AzureChinaCloud": {
        "resourceManagerEndpoint": "https://management.chinacloudapi.cn",
        "activeDirectoryAuthority": "https://login.chinacloudapi.cn"
      },
      "AzureUSGovernment": {
        "resourceManagerEndpoint": "https://management.usgovcloudapi.net",
        "activeDirectoryAuthority": "https://login.microsoftonline.us"
      }
    },
    "credentialPrecedence": [
      "AzureCLI",
      "AzurePowerShell"
    ]
  }
}

De beschikbare profielen zijn:

  • AzureCloud
  • AzureChinaCloud
  • AzureUSGovernment

Bicep gebruikt standaard het AzureCloud profiel en de referenties van de gebruiker die is geverifieerd in Azure CLI of Azure PowerShell. U kunt deze profielen aanpassen of nieuwe profielen toevoegen voor uw on-premises omgevingen. Als u een module wilt publiceren of herstellen naar een nationale cloudomgeving, zoals AzureUSGovernment, moet u zelfs instellen "currentProfile": "AzureUSGovernment" als u dat cloudprofiel hebt geselecteerd in de Azure CLI. Bicep kan het huidige cloudprofiel niet automatisch bepalen op basis van Azure CLI-instellingen.

Bicep maakt gebruik van de Azure.Identity SDK om verificatie uit te voeren. De beschikbare referentietypen zijn:

Notitie

De bicep deploy-opdracht vanuit vscode maakt gebruik van de Azure-accountextensie voor verificatie. Er worden geen cloudprofielen van bicepconfig.json gebruikt.

Volgende stappen