Início rápido: Publicar módulos Bicep no registro de módulos privados
Saiba como publicar módulos Bicep no registro de módulos privados e como chamar esses módulos em seus arquivos Bicep. O registro de módulos privados permite compartilhar módulos Bicep em sua organização. Para saber mais, confira Criar um registro privado para módulos Bicep.
Pré-requisitos
Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.
Para trabalhar com registros de módulo, você precisa da CLI de Bicep versão 0.4.1008 ou posterior. Para usar com a CLI do Azure, também é preciso ter a versão 2.31.0 ou posterior. Para usar com o Azure PowerShell, também é preciso ter o Azure PowerShell versão 7.0.0 ou posterior.
Um registro Bicep é hospedado no ACR (Registro de Contêiner do Azure). Para criar um, confira Início rápido: Criar um registro de contêineres usando um arquivo Bicep.
Para configurar seu ambiente para o desenvolvimento do Bicep, confira Instalar ferramentas do Bicep. Após concluir estas etapas, você terá o Visual Studio Code e a Extensão do Bicep ou o Visual Studio e a Extensão do Bicep.
Criar módulos Bicep
Um módulo é apenas um arquivo Bicep implantado de outro arquivo Bicep. Todo arquivo Bicep pode ser usado como um módulo. Você pode usar o arquivo Bicep a seguir neste início rápido. Ele cria uma conta de armazenamento:
@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
Salve o arquivo Bicep como storage.bicep.
Publicar módulos
Se você não tiver um ACR (registro de contêineres do Azure), confira os Pré-requisitos para a criação de um. O nome do servidor de logon do ACR é necessário. O formato do nome do servidor de logon é: <registry-name>.azurecr.io
. Para obter o nome do servidor de logon:
az acr show --resource-group <resource-group-name> --name <registry-name> --query loginServer
Use a sintaxe a seguir para publicar um arquivo Bicep como um módulo em um registro de módulos privados.
az bicep publish --file storage.bicep --target br:exampleregistry.azurecr.io/bicep/modules/storage:v1 --documentationUri https://www.contoso.com/exampleregistry.html
No exemplo anterior, ./storage.bicep é o arquivo Bicep a ser publicado. Atualize o caminho do arquivo, se necessário. O caminho do módulo tem a seguinte sintaxe:
br:<registry-name>.azurecr.io/<file-path>:<tag>
- br é o nome do esquema para um registro Bicep.
- file path tem o nome de
repository
no Registro de Contêiner do Azure. O file path pode conter segmentos separados pelo caractere/
. Esse caminho de arquivo é criado, caso não exista no registro. - tag é usada para especificar uma versão do módulo.
Para verificar os módulos publicados, liste o repositório do ACR:
az acr repository list --name <registry-name> --output table
Chamar módulos
Para chamar um módulo, crie um novo arquivo Bicep no Visual Studio Code. No novo arquivo Bicep, insira a linha a seguir.
module stgModule 'br:<registry-name>.azurecr.io/bicep/modules/storage:v1'
Substitua <registry-name> pelo nome do registro ACR. Leva pouco tempo para restaurar o módulo no cache local. Depois que o módulo for restaurado, a linha vermelha curvada abaixo do caminho dele desaparecerá. No final da linha, adicione = e um espaço e selecione required-properties, conforme mostrado na captura de tela a seguir. A estrutura do módulo é preenchida automaticamente.
O exemplo a seguir é um arquivo Bicep concluído.
@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
}
}
Salve o arquivo Bicep localmente e use a CLI do Azure ou o Azure PowerShell para implantá-lo:
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
No portal do Azure, verifique se a conta de armazenamento foi criada com êxito.
Limpar os recursos
Quando os recursos do Azure não forem mais necessários, use o módulo da CLI do Azure ou do Azure PowerShell para excluir o grupo de recursos de início rápido.
resourceGroupName = "{provide-the-resource-group-name}"
az group delete --name $resourceGroupName