Een module uit een privéregister gebruiken

Voltooid

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.