Verwenden eines Moduls aus einer privaten Registrierung

Abgeschlossen

Sie haben gelernt, wie Sie Module in einer privaten Registrierung veröffentlichen. In dieser Lerneinheit erfahren Sie, wie Sie Module verwenden, die sich als Teil einer Bicep-Vorlage bereits in einer Registrierung befinden.

Verwenden eines Bicep-Moduls

Wenn Sie ein Modul gefunden haben, das Sie verwenden möchten, erstellen Sie eine Moduldefinition in Ihrer Bicep-Vorlage. Hier sehen Sie ein Beispiel:

module myModule 'br:myregistry.azurecr.io/modulepath/modulename:moduleversion' = {
  name: 'my-module'
  params: {
    moduleParameter1: 'value'
  }
}

Beachten Sie, dass die Moduldefinition mit Ausnahme eines wichtigen Unterschieds mit der eines lokalen Moduls vergleichbar ist. Anstatt den Pfad zu einer Bicep-Datei in Ihrem Dateisystem anzugeben, nehmen Sie den Pfad zu Ihrem Modul in Ihre Registrierung auf.

Nachdem Sie einen Verweis auf das Modul hinzugefügt haben, versucht Visual Studio Code, das Modul automatisch aus der Registrierung herunterzuladen. Beim Herunterladen des Moduls stellt ihnen die Bicep-Erweiterung für Visual Studio Code für Ihre Arbeit IntelliSense und andere Unterstützung für die Codeerstellung bereit.

Aliase

Sie können einen Registrierungsalias verwenden, um Ihre Moduldefinitionen zu vereinfachen. Anstatt den Registrierungsnamen jedes Mal anzugeben, wenn Sie ein Modul definieren, verwenden Sie dessen Alias. Aliase sind auf verschiedene Weise hilfreich:

  • Sie können mehr Ordnung in Ihrer Bicep-Datei schaffen und dafür sorgen, dass Sie nicht jedes Mal den vollständigen Namen der Registrierung eingeben müssen.
  • Wenn Sie in Zukunft zu einer neuen Registrierung wechseln, können Sie den Alias aktualisieren und brauchen nicht alle Verweise darauf zu aktualisieren.
  • Einige Organisationen benötigen unterschiedliche Registrierungen für unterschiedliche Situationen, z. B. für Entwicklungs- und Produktionsumgebungen. Sie können die Registrierung, auf die ein Alias verweist, durch Ändern einer Konfigurationsdatei wechseln. Die Änderung gilt dann für alle Bicep-Dateien im Ordner.

Um einen Alias zu definieren, müssen Sie im selben Ordner wie Ihre Bicep-Datei die Datei bicepconfig.json erstellen. In der Datei bicepconfig.json werden Aliase definiert, wie aus dem folgenden Beispiel hervorgeht:

{
  "moduleAliases": {
    "br": {
      "MyRegistry": {
        "registry": "myregistry.azurecr.io"
      }
    }
  }
}

Wenn Sie ein Modul in einer Bicep-Datei definieren, verwenden Sie einen etwas anderen Modulpfadtyp, der den Alias enthält:

module myModule 'br/MyRegistry:bicep/my-module:v1' = {
  // ...
}

Tipp

Beachten Sie, dass der Anfang des Pfads br/ lautet, wenn Sie einen Alias verwenden, und br:, wenn dies nicht der Fall ist.

Ein Alias kann auch den Pfad zu Ihren Modulen innerhalb der Registrierung enthalten. Dies ist hilfreich, wenn Sie ein gemeinsames Präfix für Ihre Module verwenden:

{
  "moduleAliases": {
    "br": {
      "MyRegistryWithPath": {
        "registry": "myregistry.azurecr.io",
        "modulePath": "bicep"
      }
    }
  }
}

Anschließend können Sie auf die Pfadangabe verzichten, wenn Sie das Modul in Ihrer Bicep-Datei definieren:

module myModule 'br/MyRegistryWithPath:my-module:v1' = {
  // ...
}

Erstellen Ihrer Bicep-Datei

Wenn Sie bereit sind, Ihre Bicep-Datei bereitzustellen, gehen Sie wie gewohnt vor. Bicep lädt das Modul im Rahmen des Bereitstellungsprozesses automatisch aus der Registrierung herunter. Bicep bettet alle Module, auf die Sie verweisen, in die transpilierte ARM-Vorlage (JSON-Datei) ein.

Mit dem Befehl bicep restore können Sie das Herunterladen von Modulen auch vom Buildprozess trennen. Sie können dann den Befehl bicep build mit dem Befehlszeilenschalter --no-restore verwenden, um das Herunterladen des Moduls durch den Buildprozess zu beenden. Im Allgemeinen müssen Sie die Module jedoch nicht trennen. Lassen Sie Bicep die Module einfach automatisch herunterladen.