Guida introduttiva: Pubblicare moduli Bicep nel Registro di sistema dei moduli privati
Informazioni su come pubblicare moduli Bicep nel Registro moduli privati e come chiamare i moduli dai file Bicep. Il Registro di sistema del modulo privato consente di condividere moduli Bicep all'interno dell'organizzazione. Per altre informazioni, vedere Creare un Registro di sistema privato per i moduli Bicep. Per contribuire al Registro moduli pubblici, vedere la guida ai contributi.
Prerequisiti
Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
Per usare i registri dei moduli, è necessario avere l'interfaccia della riga di comando bicep versione 0.4.1008 o successiva. Per usare l'interfaccia della riga di comando di Azure, è necessario disporre anche dell'interfaccia della riga di comando di Azure versione 2.31.0 o successiva; per usare con Azure PowerShell, è necessario avere anche Azure PowerShell versione 7.0.0 o successiva.
Un registro Bicep è ospitato in Registro Azure Container (ACR). 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, 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. È possibile usare il file Bicep seguente in questa guida introduttiva. 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@2021-06-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.
Pubblicare moduli
Se non si dispone di un Registro Azure Container (ACR), 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 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
Moduli di chiamata
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 <il nome del Registro di sistema con il nome> del Registro di sistema ACR. È necessario un breve momento per ripristinare il modulo nella cache locale. Dopo il ripristino del modulo, la riga rossa sotto il percorso del modulo verrà allontanata. Alla fine della riga aggiungere = e uno spazio e quindi selezionare le proprietà necessarie , 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 e 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
Dalla 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