Schnellstart: Veröffentlichen von Bicep-Modulen in der Registrierung privater Module
Erfahren Sie, wie Sie Bicep-Module in der Registrierung privater Module veröffentlichen und die Module aus Ihren Bicep-Dateien aufrufen. Mit der Registrierung privater Module können Sie Bicep-Module innerhalb Ihrer Organisation freigeben. Weitere Informationen finden Sie unter Erstellen einer privaten Registrierung für Bicep-Module.
Voraussetzungen
Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.
Für die Arbeit mit Modulregistrierungen benötigen Sie die Bicep CLI-Version 0.4.1008 oder höher. Zur Verwendung mit der Azure CLI benötigen Sie auch die Azure CLI-Version 2.31.0 oder höher. Zur Verwendung mit Azure PowerShell benötigen Sie außerdem Version 7.0.0 oder höher.
Eine Bicep-Registrierung wird auf Azure Container Registry (ACR) gehostet. Für die Erstellung finden Sie Informationen unter Schnellstart: Erstellen einer Azure-Containerregistrierung mithilfe einer Bicep-Datei.
Informationen zum Einrichten Ihrer Umgebung für die Bicep-Entwicklung finden Sie unter Installieren von Bicep-Tools. Nachdem Sie diese Schritte ausgeführt haben, verfügen Sie über Visual Studio Code und die Bicep-Erweiterung oder Visual Studio und die Bicep-Erweiterung.
Erstellen von Bicep-Modulen
Bei einem Modul handelt es sich um eine Bicep-Datei, die von einer anderen Bicep-Datei bereitgestellt wird. Jede beliebige Bicep-Datei kann als Modul verwendet werden. Sie können die folgende Bicep-Datei in dieser Schnellstartanleitung verwenden. Sie erstellt ein Speicherkonto:
@minLength(3)
@maxLength(11)
param storagePrefix string
@allowed([
'Standard_LRS'
'Standard_GRS'
'Standard_RAGRS'
'Standard_ZRS'
'Premium_LRS'
'Premium_ZRS'
'Standard_GZRS'
'Standard_RAGZRS'
])
param storageSKU string = 'Standard_LRS'
param location string
var uniqueStorageName = '${storagePrefix}${uniqueString(resourceGroup().id)}'
resource stg 'Microsoft.Storage/storageAccounts@2023-04-01' = {
name: uniqueStorageName
location: location
sku: {
name: storageSKU
}
kind: 'StorageV2'
properties: {
supportsHttpsTrafficOnly: true
}
}
output storageEndpoint object = stg.properties.primaryEndpoints
Speichern Sie die Bicep-Datei als storage.bicep.
Module veröffentlichen
Wenn Sie nicht über eine Azure-Containerregistrierung (Azure Container Registry, ACR) verfügen, lesen Sie Voraussetzungen für die Erstellung einer Registrierung. Der Anmeldeservername der ACR wird benötigt. Das Format des Anmeldeservernamens lautet <registry-name>.azurecr.io
. So erhalten Sie den Namen des Anmeldeservers:
az acr show --resource-group <resource-group-name> --name <registry-name> --query loginServer
Verwenden Sie die folgende Syntax, um eine Bicep-Datei als Modul in einer privaten Modulregistrierung zu veröffentlichen.
az bicep publish --file storage.bicep --target br:exampleregistry.azurecr.io/bicep/modules/storage:v1 --documentationUri https://www.contoso.com/exampleregistry.html
Im vorherigen Beispiel ist ./storage.bicep die zu veröffentlichende Bicep-Datei. Aktualisieren Sie bei Bedarf den Dateipfad. Der Modulpfad verfügt über die folgende Syntax:
br:<registry-name>.azurecr.io/<file-path>:<tag>
- br ist der Schemaname für eine Bicep-Registrierung.
- Der Dateipfad wird in der Azure Container Registry mit
repository
bezeichnet. Der Dateipfad kann Segmente enthalten, die durch das Zeichen/
getrennt sind. Dieser Dateipfad wird erstellt, wenn er nicht in der Registrierung vorhanden ist. - tag wird verwendet, um eine Version für das Modul anzugeben.
Um die veröffentlichten Module zu überprüfen, können Sie das ACR-Repository auflisten:
az acr repository list --name <registry-name> --output table
Aufrufen von Modulen
Zum Aufrufen eines Moduls erstellen Sie eine neue Bicep-Datei in Visual Studio Code. Geben Sie in der neuen Bicep-Datei die folgende Linie ein.
module stgModule 'br:<registry-name>.azurecr.io/bicep/modules/storage:v1'
Ersetzen Sie <registry-name> durch Ihren ACR-Registrierungsnamen. Es dauert einen kurzen Moment, das Modul im lokalen Cache wiederherzustellen. Nachdem das Modul wiederhergestellt wurde, wird die rote geschweifte Linie unter dem Modulpfad entfernt. Fügen Sie am Ende der Linie = und ein Leerzeichen hinzu, und wählen Sie dann required-properties (erforderliche Eigenschaften) aus, wie im folgenden Screenshot gezeigt. Die Modulstruktur wird automatisch ausgefüllt.
Das folgende Beispiel ist eine abgeschlossene Bicep-Datei.
@minLength(3)
@maxLength(11)
param namePrefix string
param location string = resourceGroup().location
module stgModule 'br:ace1207.azurecr.io/bicep/modules/storage:v1' = {
name: 'stgStorage'
params: {
location: location
storagePrefix: namePrefix
}
}
Speichern Sie die Bicep-Datei lokal und verwenden Sie dann Azure CLI oder Azure PowerShell zum Bereitstellen der Bicep-Datei:
resourceGroupName = "{provide-a-resource-group-name}"
templateFile="{provide-the-path-to-the-bicep-file}"
az group create --name $resourceGroupName --location eastus
az deployment group create --resource-group $resourceGroupName --template-file $templateFile
Überprüfen Sie im Azure-Portal, ob das Speicherkonto erfolgreich erstellt wurde.
Bereinigen von Ressourcen
Wenn Sie die Azure-Ressourcen nicht mehr benötigen, löschen Sie die Ressourcengruppe der Schnellstartanleitung mithilfe der Azure-Befehlszeilenschnittstelle oder des Azure PowerShell-Moduls.
resourceGroupName = "{provide-the-resource-group-name}"
az group delete --name $resourceGroupName