Início Rápido: Publicar módulos do Bicep no registo de módulos privados
Saiba como publicar módulos do Bicep no registo de módulos privados e como chamar os módulos a partir dos seus ficheiros bicep. O registo de módulos privados permite-lhe partilhar módulos bicep na sua organização. Para saber mais, veja Criar registo privado para módulos do Bicep. Para contribuir para o registo do módulo público, veja o guia de contribuição.
Pré-requisitos
Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.
Para trabalhar com registos de módulos, tem de ter a versão 0.4.1008 ou posterior da CLI do Bicep. Para utilizar com a CLI do Azure, também tem de ter a versão 2.31.0 ou posterior da CLI do Azure; para utilizar com Azure PowerShell, também tem de ter Azure PowerShell versão 7.0.0 ou posterior.
Um registo do Bicep está alojado no Azure Container Registry (ACR). Para criar um, veja Início Rápido: Criar um registo de contentor com um ficheiro Bicep.
Para configurar o seu ambiente para o desenvolvimento do Bicep, veja Instalar ferramentas do Bicep. Depois de concluir esses passos, terá o Visual Studio Code e a extensão bicep ou o Visual Studio e a extensão Bicep.
Criar módulos do Bicep
Um módulo é um ficheiro Bicep que é implementado a partir de outro ficheiro Bicep. Qualquer ficheiro Bicep pode ser utilizado como um módulo. Pode utilizar o seguinte ficheiro Bicep neste início rápido. 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@2021-06-01' = {
name: uniqueStorageName
location: location
sku: {
name: storageSKU
}
kind: 'StorageV2'
properties: {
supportsHttpsTrafficOnly: true
}
}
output storageEndpoint object = stg.properties.primaryEndpoints
Guarde o ficheiro Bicep como storage.bicep.
Publicar módulos
Se não tiver um registo de contentor do Azure (ACR), veja Pré-requisitos para criar um. É necessário o nome do servidor de início de sessão do ACR. O formato do nome do servidor de início de sessão é: <registry-name>.azurecr.io
. Para obter o nome do servidor de início de sessão:
az acr show --resource-group <resource-group-name> --name <registry-name> --query loginServer
Utilize a seguinte sintaxe para publicar um ficheiro Bicep como um módulo num registo de módulo privado.
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 ficheiro Bicep a publicar. Atualize o caminho do ficheiro, 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 de um registo do Bicep.
- o caminho do ficheiro é chamado
repository
no Azure Container Registry. O caminho do ficheiro pode conter segmentos separados pelo/
caráter. Este caminho de ficheiro é criado se não existir no registo. - a etiqueta é utilizada para especificar uma versão para o módulo.
Para verificar os módulos publicados, pode listar 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 ficheiro Bicep no Visual Studio Code. No novo ficheiro Bicep, introduza a seguinte linha.
module stgModule 'br:<registry-name>.azurecr.io/bicep/modules/storage:v1'
Substitua <registry-name> pelo nome do registo do ACR. Demora pouco tempo a restaurar o módulo para a cache local. Depois de o módulo ser restaurado, a linha curva vermelha por baixo do caminho do módulo irá desaparecer. No final da linha, adicione = e um espaço e, em seguida, selecione required-properties , conforme mostrado na seguinte captura de ecrã. A estrutura do módulo é preenchida automaticamente.
O exemplo seguinte é um ficheiro 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
}
}
Guarde o ficheiro Bicep localmente e, em seguida, utilize a CLI do Azure ou Azure PowerShell para implementar o ficheiro 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
Na portal do Azure, verifique se a conta de armazenamento foi criada com êxito.
Limpar os recursos
Quando os recursos do Azure já não forem necessários, utilize a CLI do Azure ou Azure PowerShell módulo para eliminar o grupo de recursos de início rápido.
resourceGroupName = "{provide-the-resource-group-name}"
az group delete --name $resourceGroupName