Utilize o analisador do Bicep

O linter do Bicep verifica os arquivos do Bicep em busca de erros de sintaxe e violações de práticas recomendadas. O linter ajuda a aplicar os padrões de codificação, fornecendo orientação durante o desenvolvimento. Você pode personalizar as práticas recomendadas a serem usadas para verificar o arquivo.

Requisitos de forro

O linter está integrado na CLI do Bicep e na extensão do Bicep para o Visual Studio Code. Para usá-lo, você deve ter a CLI do Bicep versão 0.4 ou posterior.

Regras predefinidas

O conjunto predefinido de regras do linter é mínimo e é obtido a partir de casos de teste do arm-ttk. A extensão e a CLI do Bicep verificam as seguintes regras, que estão definidas com o nível de aviso.

Regra de Linter Nível padrão
adminusername-não-deveria-ser-literal aviso
parâmetros de artefatos aviso
limpeza do descompilador aviso
valores-explícitos-para-parâmetros-loc desligado
max-asserts erro
saídas máximas erro
parâmetros máximos erro
max-recursos erro
variáveis máximas erro
escopo de implantação de templates aninhados erro
Metadados sem conflito aviso
recursos-sem-implementações aviso
não-explícito-qualquer aviso
não-codificado-hardcoded-env-urls aviso
localização sem codificação desligado
sem saídas codificadas de forma fixa desligado
no-loc-expr-fora-parâmetros desligado
Sem nome de módulo desligado
não-desnecessário-dependente aviso
recursos não existentes não utilizados aviso
importações não utilizadas aviso
Sem parâmetros não utilizados aviso
Não-Tipos Não Usados aviso
VARs sem uso aviso
saídas-devem-não-conter-segredos aviso
interpolação preferencial aviso
preferir-nomes-de-propriedades-sem-aspas aviso
proteger-comandoexecutar-segredos aviso
parâmetro-seguro-padrão aviso
parâmetros-seguros-em-implementações-aninhadas aviso
parâmetros-seguros-no-ficheiro-de-parâmetros aviso
segredos-seguros-em-parâmetros aviso
simplificar-interpolação aviso
simplify-json-null aviso
use-description-outputs desligado
parámetros-de-descrição-de uso desligado
Utilidade-Descrição-Tipo-Propriedades desligado
type-use-description-types desligado
use-description-vars desligado
uso-propriedade-pai aviso
use-recent-api-versions desligado
use-recent-az-powershell-version (usar-versão-recente-do-az-powershell) aviso
usar-versões-recentes-dos-módulos desligado
Usar-tipo-reconhecido-de-recurso aviso
Funções de usar ID de recurso desligado
usar-referência-símbolo-de-recurso aviso
acesso seguro de uso aviso
use-valor-seguro-para-entradas-seguras aviso
utilização de identificadores de recursos estáveis aviso
usar-imagem-vm-estável aviso
usar-tipos-definidos-pelo-utilizador desligado
Curto-circuito hipotético desligado

Podes ativar ou desativar todas as regras de linter e controlar como são aplicadas usando um ficheiro de configuração. Para substituir o comportamento padrão, crie um arquivo bicepconfig.json com suas configurações personalizadas. Para obter mais informações sobre como aplicar essas configurações, consulte Adicionar configurações personalizadas no arquivo de configuração do Bicep.

Uso no Visual Studio Code

A captura de ecrã seguinte mostra o linter no Visual Studio Code:

Utilização do linter Bicep no Visual Studio Code.

No painel PROBLEMAS , a captura de ecrã mostra quatro erros, um aviso e uma mensagem de informação. A mensagem de informação apresenta o ficheiro de configuração do Bicep que é utilizado. Ele só mostra essa informação quando você define verbose como true no arquivo de configuração.

Passe o cursor do rato sobre uma das áreas problemáticas. O linter fornece os detalhes sobre o erro ou aviso. Selecione a área, ele também mostra uma lâmpada azul:

Utilização do linter do Bicep no Visual Studio Code - mostrar correção rápida.

Selecione a lâmpada ou a hiperligação Correção rápida para ver a solução:

Utilização do linter Bicep no Visual Studio Code - mostrar a solução de correção rápida.

Selecione a solução para corrigir o problema automaticamente.

Utilização na CLI do Bíceps

A captura de tela a seguir mostra o linter na linha de comando. A saída do comando lint e do comando build mostra quaisquer violações das regras.

Utilização do linter Bicep na linha de comandos.

Pode integrar estas verificações como parte integrante dos seus pipelines de CI/CD. Pode utilizar uma ação do GitHub para tentar compilar o Bicep. Os erros fazem falhar os pipelines.

Silenciar falsos positivos

Por vezes, uma regra tem falsos positivos. Por exemplo, talvez seja necessário incluir um link para um armazenamento de blob diretamente sem usar a função environment( ).

Pode suprimir as regras do linter do bíceps usando disable-next-line e disable-diagnostics. Ver Diretivas. Se quiser suprimir uma regra de linter, altera o nível da regra para Off em bicepconfig.json. No exemplo seguinte, a no-deployments-resources regra é suprimida:

{
  "analyzers": {
    "core": {
      "rules": {
        "no-deployments-resources": {
          "level": "off"
        }
      }
    }
  }
}

Próximos passos