Partilhar via


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

Uma using ou uma using none declaração deve estar presente em todos os arquivos de parâmetros do Bicep.

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

Por outro lado, a using none instrução indica explicitamente que o arquivo de parâmetros não está vinculado a nenhum modelo específico em tempo de compilação. Isto significa que os parâmetros não são validados contra um template específico e destinam-se antes a um uso mais geral — como serem consumidos por ferramentas externas ou servir 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 usar 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 em um arquivo 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. Isso separa o arquivo de parâmetros de um modelo específico, permitindo maior flexibilidade na forma como os parâmetros são definidos e usados em todas as implantações.

A sintaxe da using none instrução:

using none

Esta declaração é colocada no início de um ficheiro de parâmetros Bicep para sinalizar que nenhum modelo específico é referenciado.

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 mantêm frequentemente valores padrão de parâmetros — como regiões por defeito, convenções de nomenclatura ou etiquetas globais — utilizados em várias implementações do Bicep. Um arquivo de parâmetros do Bicep com o uso de nenhum pode atuar como um armazenamento central para esses valores compartilhados, melhorando a consistência e minimizando a duplicação. Esses parâmetros podem ser mesclados programaticamente com valores específicos do modelo no momento da implantação.

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

    using none
    
    param location = 'westus2'
    param environmentTag = 'production'
    param projectName = 'myApp'
    
  • Geração dinâmica e integração de tempo de execução

    Em pipelines de CI/CD ou scripts de automação, os arquivos de parâmetros podem ser criados instantaneamente ou associados 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 using none é especificado em um arquivo de parâmetros Bicep, o compilador não valida os parâmetros em relação a um modelo Bicep específico, o que significa que nenhum aviso ou erro em tempo de compilação é gerado para nomes ou tipos incompatíveis devido à ausência de um modelo vinculado. 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