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' = {
Een alias is vooraf gedefinieerd voor openbare modules. Als u naar een openbare module wilt verwijzen, kunt u de volgende indeling gebruiken:
br/public:<file>:<tag>
Notitie
Niet-AVM-modules (Azure Verified Modules) worden buiten gebruik gesteld van het openbare moduleregister, waarbij de meeste modules beschikbaar zijn als AVM-modules.
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 credentialPrecedence
verificatie 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
- Uw Bicep-omgeving configureren
- Linter-instellingen toevoegen aan Bicep-configuratie
- Meer informatie over modules