Usare Bicep linter

Bicep linter controlla i file Bicep per individuare errori di sintassi e violazioni delle procedure consigliate. Linter consente di applicare gli standard di codifica fornendo indicazioni durante lo sviluppo. È possibile personalizzare le procedure consigliate da usare per controllare il file.

Requisiti di Linter

Linter è integrato nell'interfaccia della riga di comando di Bicep e nell'estensione Bicep per Visual Studio Code. Per usarlo, è necessario avere l'interfaccia della riga di comando di Bicep versione 0.4 o successiva.

Regole predefinite

Il set predefinito di regole linter è minimo e ottenuto da test case arm-ttk. L'estensione e l'interfaccia della riga di comando di Bicep controllano le regole seguenti, che vengono impostate sul livello di avviso.

Regola Linter Livello predefinito
nomeutentedellamministratore-non-dovrebbe-essere-letterale avvertimento
parametri-degli-artefatti avvertimento
decompiler-cleanup avvertimento
valori-espliciti-per-parametri-loc spento
max-asserzioni Errore
max-outputs Errore
max-params Errore
max-resources Errore
max-variabili Errore
nested-deployment-template-scoping Errore
metadati senza conflitti avvertimento
nessuna-risorsa-di-implementazione avvertimento
nessuna-risorsa-esplicita avvertimento
no-hardcoded-env-urls avvertimento
no-hardcoded-location spento
nessuna-espressione-loc-al-di-fuori-dei-parametri spento
no-module-name spento
no-unnecessary-dependson avvertimento
nessuna risorsa esistente non utilizzata avvertimento
nessuna-importazione-inutilizzata avvertimento
nessun-parametro-inutilizzato avvertimento
nessuna-variabile-inutilizzata avvertimento
le uscite non dovrebbero contenere segreti avvertimento
prefer-interpolazione avvertimento
prefer-unquoted-property-names (preferisci nomi di proprietà senza virgolette) avvertimento
protect-commandtoexecute-secrets avvertimento
secure-parameter-default avvertimento
parametri-sicuri-in-distribuzione-annidata avvertimento
proteggi-segreti-nei-parametri avvertimento
semplificare l'interpolazione avvertimento
simplify-json-null avvertimento
usare-proprietà-parente avvertimento
usa-le-versioni-API-più-recenti spento
usare-versione-powershell-az-recente avvertimento
utilizzare-versioni-recenti-del-modulo spento
use-recognized-resource-type avvertimento
usare-funzioni-ID-risorsa spento
riferimento-al-simbolo-della-risorsa-usata avvertimento
accesso-sicuro-all'uso avvertimento
use-secure-value-for-secure-inputs avvertimento
usa-identificatori-di-risorse-stabili avvertimento
usare-immagoine-vm-stabile avvertimento
usare-tipi-definiti-dall'utente spento
what-if-short-circuiting spento

È possibile abilitare o disabilitare tutte le regole linter e controllare il modo in cui vengono applicate usando un file di configurazione. Per eseguire l'override del comportamento predefinito, creare un filebicepconfig.json con le impostazioni personalizzate. Per altre informazioni sull'applicazione di tali impostazioni, vedere Aggiungere impostazioni personalizzate nel file di configurazione bicep.

Usare in Visual Studio Code

Lo screenshot seguente illustra il linter in Visual Studio Code:

Utilizzo di linter Bicep in Visual Studio Code.

Nel riquadro PROBLEMI lo screenshot mostra quattro errori, un avviso e un messaggio di informazioni. Il messaggio informativo mostra il file di configurazione Bicep usato. Mostra solo queste informazioni quando si imposta verbose su true nel file di configurazione.

Passare il cursore del mouse su una delle aree problematiche. Il linter fornisce i dettagli sull'errore o sull'avviso. Selezionare l'area, che mostra anche una lampadina blu:

Utilizzo di linter Bicep in Visual Studio Code - mostra quickfix.

Selezionare la lampadina o il collegamento Correzione rapida per visualizzare la soluzione:

Utilizzo di linter Bicep in Visual Studio Code - mostra soluzione quickfix.

Selezionare la soluzione per risolvere automaticamente il problema.

Usare nell'interfaccia della riga di comando di Bicep

Lo screenshot seguente mostra il linter nella riga di comando. L'output del comando lint e del comando di compilazione mostra eventuali violazioni delle regole.

Utilizzo di linter Bicep nella riga di comando.

È possibile integrare questi controlli come parte delle pipeline CI/CD. È possibile usare un'azione GitHub per tentare una compilazione bicep. Gli errori causano il fallimento delle pipeline.

Ridurre al minimo i falsi positivi.

In alcuni casi, una regola presenta falsi positivi. Ad esempio, potrebbe essere necessario includere un collegamento a un archivio BLOB direttamente senza usare la funzione environment() .

È possibile eliminare le regole del linter Bicep usando disable-next-line e disable-diagnostics. Vedere Direttive. Se si desidera eliminare una regola linter, modificare il livello della regola in Off in bicepconfig.json. Nell'esempio seguente la no-deployments-resources regola viene eliminata:

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

Passaggi successivi