Usar um módulo de um registro privado

Concluído

Você aprendeu como publicar módulos em um registro privado. Nesta unidade, você aprenderá a usar módulos que já estão em um registro como parte de um modelo Bicep.

Usar um módulo Bicep

Quando encontrar um módulo que deseja usar, crie uma definição de módulo no modelo do Bíceps. Eis um exemplo:

module myModule 'br:myregistry.azurecr.io/modulepath/modulename:moduleversion' = {
  name: 'my-module'
  params: {
    moduleParameter1: 'value'
  }
}

Observe que a definição do módulo é semelhante à de um módulo local, mas com uma diferença importante. Em vez de especificar o caminho para um arquivo Bicep no sistema de arquivos, inclua o caminho para o módulo no registro.

Depois de adicionar uma referência ao módulo, o Visual Studio Code tenta baixar automaticamente o módulo do registro. Quando o módulo é baixado, a extensão Bicep para Visual Studio Code fornece IntelliSense e outra assistência de criação de código enquanto você trabalha.

Aliases

Você pode usar um alias do Registro para simplificar as definições do módulo. Em vez de especificar o nome do Registro toda vez que você define um módulo, você usa seu alias. Os aliases ajudam-no de algumas formas:

  • Eles podem manter seu arquivo Bicep mais arrumado e ajudá-lo a evitar digitar o nome completo do registro repetidamente.
  • Se você mudar para um novo registro no futuro, poderá atualizar o alias em vez de atualizar todas as referências a ele.
  • Algumas organizações precisam usar registros diferentes para situações diferentes, como para ambientes de desenvolvimento e produção. Você pode alternar o registro ao qual um alias se refere modificando um arquivo de configuração. A alteração então se aplica a todos os arquivos Bicep na pasta.

Para definir um alias, você precisa criar um arquivo bicepconfig.json na mesma pasta que o arquivo Bicep. Dentro do arquivo bicepconfig.json , você define aliases como neste exemplo:

{
  "moduleAliases": {
    "br": {
      "MyRegistry": {
        "registry": "myregistry.azurecr.io"
      }
    }
  }
}

Ao definir um módulo em um arquivo Bicep, você usa um tipo ligeiramente diferente de caminho de módulo, que inclui o alias:

module myModule 'br/MyRegistry:bicep/my-module:v1' = {
  // ...
}

Gorjeta

Observe que o início do caminho é br/ quando você usa um alias e br: quando não usa.

Um alias também pode incluir o caminho para seus módulos dentro do registro, o que é útil se você usar um prefixo comum para seus módulos:

{
  "moduleAliases": {
    "br": {
      "MyRegistryWithPath": {
        "registry": "myregistry.azurecr.io",
        "modulePath": "bicep"
      }
    }
  }
}

Em seguida, você pode omitir o caminho ao definir o módulo no arquivo Bicep:

module myModule 'br/MyRegistryWithPath:my-module:v1' = {
  // ...
}

Crie seu arquivo Bicep

Quando estiver pronto para implantar seu arquivo Bicep, você o implantará como faz normalmente. O Bicep baixa o módulo do registro automaticamente como parte do processo de implantação. O Bicep incorpora todos os módulos aos quais você se refere no modelo ARM transpilado, que é um arquivo JSON.

Você também pode separar o processo de download do módulo da compilação usando o bicep restore comando. Em seguida, você pode usar o bicep build comando com a --no-restore opção de linha de comando para impedir que o processo de compilação baixe o módulo. Geralmente, porém, você não precisa separar os módulos e deixar o Bicep baixar os módulos automaticamente.