Share via


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.

Proprietà necessarie per l'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 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

Passaggi successivi