Een module uit een privéregister gebruiken
U hebt geleerd hoe u modules publiceert in een privéregister. In deze les leert u hoe u modules gebruikt die al in een register staan als onderdeel van een Bicep-sjabloon.
Een Bicep-module gebruiken
Wanneer u een module hebt gevonden die u wilt gebruiken, maakt u een moduledefinitie in uw Bicep-sjabloon. Hier volgt een voorbeeld:
module myModule 'br:myregistry.azurecr.io/modulepath/modulename:moduleversion' = {
name: 'my-module'
params: {
moduleParameter1: 'value'
}
}
U ziet dat de moduledefinitie vergelijkbaar is met die van een lokale module, maar met één belangrijk verschil. In plaats van het pad naar een Bicep-bestand op uw bestandssysteem op te geven, neemt u het pad naar uw module op in het register.
Nadat u een verwijzing naar de module hebt toegevoegd, probeert Visual Studio Code de module automatisch te downloaden uit het register. Wanneer de module wordt gedownload, geeft de Bicep-extensie voor Visual Studio Code u intelliSense en andere hulp bij het ontwerpen van code terwijl u werkt.
Aliassen
U kunt een registeralias gebruiken om uw moduledefinities te vereenvoudigen. In plaats van de registernaam op te geven telkens wanneer u een module definieert, gebruikt u de alias. Aliassen helpen u op een aantal manieren:
- Ze kunnen uw Bicep-bestand overzichtelijk houden en u helpen voorkomen dat u herhaaldelijk de volledige naam van het register typt.
- Als u in de toekomst overstapt op een nieuw register, kunt u de alias bijwerken in plaats van elke verwijzing ernaar bij te werken.
- Sommige organisaties moeten verschillende registers gebruiken voor verschillende situaties, zoals voor ontwikkel- en productieomgevingen. U kunt het register wijzigen waarnaar een alias verwijst door een configuratiebestand te wijzigen. De wijziging is vervolgens van toepassing op alle Bicep-bestanden in de map.
Als u een alias wilt definiëren, moet u een bicepconfig.json-bestand maken in dezelfde map als uw Bicep-bestand. In het bestand bicepconfig.json definieert u aliassen zoals in dit voorbeeld:
{
"moduleAliases": {
"br": {
"MyRegistry": {
"registry": "myregistry.azurecr.io"
}
}
}
}
Wanneer u een module in een Bicep-bestand definieert, gebruikt u een iets ander type modulepad, waaronder de alias:
module myModule 'br/MyRegistry:bicep/my-module:v1' = {
// ...
}
Tip
U ziet dat het begin van het pad is br/
wanneer u een alias gebruikt en br:
wanneer u dat niet doet.
Een alias kan ook het pad naar uw modules in het register bevatten. Dit is handig als u een gemeenschappelijk voorvoegsel voor uw modules gebruikt:
{
"moduleAliases": {
"br": {
"MyRegistryWithPath": {
"registry": "myregistry.azurecr.io",
"modulePath": "bicep"
}
}
}
}
Vervolgens kunt u het pad weglaten wanneer u de module in uw Bicep-bestand definieert:
module myModule 'br/MyRegistryWithPath:my-module:v1' = {
// ...
}
Uw Bicep-bestand bouwen
Wanneer u klaar bent om uw Bicep-bestand te implementeren, implementeert u het net zoals u dat normaal doet. Bicep downloadt de module automatisch uit het register als onderdeel van het implementatieproces. Bicep sluit alle modules in die u in de getranspileerde ARM-sjabloon verwijst. Dit is een JSON-bestand.
U kunt het downloadproces van de module ook scheiden van de build met behulp van de bicep restore
opdracht. Vervolgens kunt u de bicep build
opdracht met de --no-restore
opdrachtregelswitch gebruiken om te voorkomen dat het buildproces de module downloadt. Over het algemeen hoeft u echter geen modules te scheiden en bicep de modules automatisch te laten downloaden.