Avvio rapido: Pubblicare moduli Bicep nel registro dei moduli privati
Informazioni su come pubblicare moduli Bicep nel registro dei moduli privati e su come chiamare i moduli dai file Bicep. Il Registro di sistema dei moduli privati consente di condividere moduli Bicep all'interno dell'organizzazione. Per altre informazioni, vedere Creare un registro privato per i moduli Bicep.
Prerequisiti
Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
Per lavorare con i registri dei moduli, è necessario avere l'interfaccia della riga di comando di Bicep versione 0.4.1008 o successiva. Per l'uso con l'interfaccia della riga di comando di Azure, è necessario avere anche la versione 2.31.0 o successiva. Per l'uso con Azure PowerShell, è necessario avere anche la versione 7.0.0 o successiva.
Un registro Bicep è ospitato sul Registro Azure Container. Per crearne uno, vedere Avvio rapido: Creare un registro contenitori usando un file Bicep.
Per configurare l'ambiente per lo sviluppo Bicep, vedere Installare gli strumenti Bicep. Dopo aver completato questi passaggi, si avranno Visual Studio Code e l'estensione Bicep o Visual Studio e l'estensione Bicep.
Creare moduli Bicep
Un modulo è un file Bicep distribuito da un altro file Bicep. Qualsiasi file Bicep può essere usato come modulo. In questo avvio rapido è possibile usare il file Bicep seguente. Viene creato un account di archiviazione:
@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
Salvare il file Bicep come storage.bicep.
Pubblica moduli
Se non si ha un Registro Azure Container, vedere Prerequisiti per crearne uno. È necessario il nome del server di accesso del Registro Azure Container. Il formato del nome del server di accesso è: <registry-name>.azurecr.io
. Per ottenere il nome del server di accesso:
az acr show --resource-group <resource-group-name> --name <registry-name> --query loginServer
Usare la sintassi seguente per pubblicare un file Bicep come modulo in un registro dei moduli privati.
az bicep publish --file storage.bicep --target br:exampleregistry.azurecr.io/bicep/modules/storage:v1 --documentationUri https://www.contoso.com/exampleregistry.html
Nell'esempio precedente ./storage.bicep è il file Bicep da pubblicare. Aggiornare il percorso del file, se necessario. Il percorso del modulo ha la sintassi seguente:
br:<registry-name>.azurecr.io/<file-path>:<tag>
- br è il nome dello schema per un registro Bicep.
- Il percorso del file viene chiamato
repository
in Registro Azure Container. Il percorso del file può contenere segmenti separati dal carattere/
. Questo percorso di file viene creato se non esiste nel Registro di sistema. - tag viene usato per specificare una versione per il modulo.
Per verificare i moduli pubblicati, è possibile elencare il repository del Registro Azure Container:
az acr repository list --name <registry-name> --output table
Chiamare i moduli
Per chiamare un modulo, creare un nuovo file Bicep in Visual Studio Code. Nel nuovo file Bicep immettere la riga seguente.
module stgModule 'br:<registry-name>.azurecr.io/bicep/modules/storage:v1'
Sostituire <registry-name> con il nome del Registro Azure Container. Il ripristino del modulo nella cache locale richiede poco tempo. Dopo il ripristino del modulo, la riga rossa sotto il percorso del modulo andrà via. Alla fine della riga aggiungere = e uno spazio e quindi selezionare required-properties come illustrato nello screenshot seguente. La struttura del modulo viene popolata automaticamente.
L'esempio seguente è un file Bicep completato.
@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
}
}
Salvare il file Bicep in locale, quindi usare l'interfaccia della riga di comando di Azure o Azure PowerShell per distribuire il file Bicep:
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
Nel portale di Azure verificare che l'account di archiviazione sia stato creato correttamente.
Pulire le risorse
Quando le risorse non sono più necessarie, usare l'interfaccia della riga di comando di Azure o il modulo di Azure PowerShell per eliminare il gruppo di risorse dell'argomento di avvio rapido.
resourceGroupName = "{provide-the-resource-group-name}"
az group delete --name $resourceGroupName