Utilização de declarações 'None'

Todos os ficheiros de parâmetros Bicep devem incluir uma using ou uma using none declaração.

Um ficheiro de parâmetros Bicep utiliza tipicamente uma using instrução para ligar o ficheiro a um ficheiro Bicep, um template JSON Azure Resource Manager (template ARM), um módulo Bicep ou uma especificação de template. Esta ligação permite que o servidor e compilador da linguagem Bicep validem o ficheiro de parâmetros verificando nomes, tipos e valores necessários corretos com base nas entradas do template.

Em contraste, a using none afirmação indica explicitamente que o ficheiro de parâmetros não está ligado a nenhum template específico no momento da compilação. Esta afirmação significa que os parâmetros não são validados contra um modelo específico e são antes destinados a um uso mais geral, como serem consumidos por ferramentas externas ou servirem como conjuntos de parâmetros partilhados e reutilizáveis.

Nota

Os arquivos de parâmetros do Bicep são suportados somente na CLI do Bicep versão 0.18.4 ou posterior, na CLI do Azure versão 2.47.0 ou posterior e no Azure PowerShell versão 9.7.1 ou posterior. O using none recurso é suportado na versão 0.31.0 ou posterior da CLI do Bicep .

Para usar a instrução com modelos JSON ARM, módulos Bicep e especificações de modelo, você precisa ter a CLI do Bicep versão 0.22.6 ou posterior e a CLI do Azure versão 2.53.0 ou posterior.

A instrução using

A sintaxe da using instrução:

  • Para usar arquivos Bicep:

    using '<path>/<file-name>.bicep'
    
  • Para usar modelos JSON ARM:

    using '<path>/<file-name>.json'
    
  • Para utilizar módulos públicos:

    using 'br/public:<file-path>:<tag>'
    

    Por exemplo:

    using 'br/public:avm/res/storage/storage-account:0.9.0' 
    
    param name = 'mystorage'
    
  • Para usar módulos privados:

    using 'br:<acr-name>.azurecr.io/bicep/<file-path>:<tag>'
    

    Por exemplo:

    using 'br:myacr.azurecr.io/bicep/modules/storage:v1'
    

    Para usar um módulo privado com um alias definido em um arquivo bicepconfig.json:

    using 'br/<alias>:<file>:<tag>'
    

    Por exemplo:

    using 'br/storageModule:storage:v1'
    
  • Para utilizar as especificações de modelo:

    using 'ts:<subscription-id>/<resource-group-name>/<template-spec-name>:<tag>
    

    Por exemplo:

    using 'ts:00000000-0000-0000-0000-000000000000/myResourceGroup/storageSpec:1.0'
    

    Para usar uma especificação de modelo com um alias definido num ficheiro bicepconfig.json:

    using 'ts/<alias>:<template-spec-name>:<tag>'
    

    Por exemplo:

    using 'ts/myStorage:storageSpec:1.0'
    

A instrução using none

A instrução using none num arquivo de parâmetros do Bicep (.bicepparam) indica que o arquivo não está vinculado a um modelo Bicep específico durante o desenvolvimento ou compilação. Esta instrução desacopla o ficheiro de parâmetros de um modelo específico, permitindo maior flexibilidade na forma como defines e utilizas parâmetros entre implementações.

A sintaxe da using none instrução:

using none

Coloque esta declaração no início de um ficheiro de parâmetros do Bicep para indicar que não é referenciado nenhum modelo específico.

O principal benefício do using none no Bicep reside em cenários onde os ficheiros de parâmetros são generalizados, partilhados ou integrados dinamicamente com modelos. Os casos de uso comuns incluem:

  • Repositórios de parâmetros centralizados

    As organizações frequentemente mantêm valores padrão de parâmetros – como regiões padrão, convenções de nomenclatura ou etiquetas globais – usados em múltiplas implementações do Bicep. Um ficheiro de parâmetros Bicep pode using none funcionar como um armazenamento central para estes valores partilhados, melhorando a consistência e minimizando duplicações. Pode fundir programaticamente estes parâmetros com valores específicos do template no momento da implementação.

    Por exemplo, um arquivo de parâmetros Bicep compartilhado pode definir:

    using none
    
    param location = 'westus2'
    param environmentTag = 'production'
    param projectName = 'myApp'
    

    Além disso, pode estender este ficheiro de parâmetros. Para mais informações, consulte o ficheiro Estender parámetros.

  • Geração dinâmica e integração de tempo de execução

    Em pipelines CI/CD ou scripts de automação, pode criar ficheiros de parâmetros em tempo real ou associá-los a modelos em tempo de execução. Ao omitir uma referência de modelo fixa, using none permite que esses arquivos permaneçam flexíveis e adaptáveis a diferentes contextos de implantação.

Quando especificas using none num ficheiro de parâmetros Bicep, o compilador não valida os parâmetros contra um template específico do Bicep. Isto significa que o compilador não apresenta quaisquer avisos ou erros em tempo de compilação para nomes ou tipos incompatíveis devido à ausência de um modelo ligado. No entanto, este desacoplamento aplica-se apenas durante a autoria e compilação. No momento da implementação, o Azure Resource Manager (ARM) ainda requer tanto um modelo Bicep como um ficheiro de parâmetros. O mecanismo ARM executa a validação durante a implantação, resolvendo os parâmetros no arquivo em relação aos definidos no modelo de destino.

Próximos passos