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.

Proprietà obbligatorie dell'estensione Bicep di Visual Studio Code

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

Passaggi successivi