你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
在 Bicep 配置文件中添加 linter 设置
在 bicepconfig.json 文件中,可以自定义 Bicep linter 的验证设置。 Linter 在评估 Bicep 文件以获得最佳做法时使用这些设置。
本文介绍可用于处理 Bicep Linter 的设置。
自定义 Linter
Linter 设置在 analyzers
元素下可用。 你可以启用或禁用 Linter,提供特定于规则的值,以及设置规则级别。
下面的示例演示了可用于配置的规则。
{
"analyzers": {
"core": {
"enabled": true,
"rules": {
"adminusername-should-not-be-literal": {
"level": "warning"
},
"artifacts-parameters": {
"level": "warning"
},
"decompiler-cleanup": {
"level": "warning"
},
"explicit-values-for-loc-params": {
"level": "off"
},
"max-asserts": {
"level": "warning"
},
"max-outputs": {
"level": "warning"
},
"max-params": {
"level": "warning"
},
"max-resources": {
"level": "warning"
},
"max-variables": {
"level": "warning"
},
"nested-deployment-template-scoping": {
"level": "error"
},
"no-conflicting-metadata" : {
"level": "warning"
},
"no-deployments-resources" : {
"level": "warning"
},
"no-hardcoded-env-urls": {
"level": "warning"
},
"no-hardcoded-location": {
"level": "off"
},
"no-loc-expr-outside-params": {
"level": "off"
},
"no-unnecessary-dependson": {
"level": "warning"
},
"no-unused-existing-resources": {
"level": "warning"
},
"no-unused-params": {
"level": "warning"
},
"no-unused-vars": {
"level": "warning"
},
"outputs-should-not-contain-secrets": {
"level": "warning"
},
"prefer-interpolation": {
"level": "warning"
},
"prefer-unquoted-property-names": {
"level": "warning"
},
"protect-commandtoexecute-secrets": {
"level": "warning"
},
"secure-parameter-default": {
"level": "warning"
},
"secure-params-in-nested-deploy": {
"level": "warning"
},
"secure-secrets-in-params": {
"level": "warning"
},
"simplify-interpolation": {
"level": "warning"
},
"simplify-json-null": {
"level": "warning"
},
"use-parent-property": {
"level": "warning"
},
"use-recent-api-versions": {
"level": "warning",
"maxAllowedAgeInDays": 730
},
"use-recent-module-versions": {
"level": "warning"
},
"use-resource-id-functions": {
"level": "warning"
},
"use-resource-symbol-reference": {
"level": "warning"
},
"use-safe-access": {
"level": "warning"
},
"use-secure-value-for-secure-inputs": {
"level": "error"
},
"use-stable-resource-identifiers": {
"level": "warning"
},
"use-stable-vm-image": {
"level": "warning"
},
"what-if-short-circuiting": {
"level": "warning"
}
}
}
}
}
这些属性为:
- enabled:指定为“true”可启用 Linter,指定为 “false”可禁用 Linter。
- verbose:指定为“true”可显示 Visual Studio Code 使用的 bicepconfig.json 文件。
- rules:指定特定于规则的值。 每个规则都有一个级别,该级别确定在发现冲突时 Linter 的响应方式。
“级别”的可用值为:
level | 生成时行为 | 编辑器行为 |
---|---|---|
Error |
冲突在命令行生成输出中显示为“错误”,并导致生成失败。 | 有问题的代码带有红色的波浪下划线,并显示在“问题”选项卡中。 |
Warning |
冲突在命令行生成输出中显示为“警告”,但不会导致生成失败。 | 有问题的代码带有黄色的波浪下划线,并显示在“问题”选项卡中。 |
Info |
冲突不会出现在命令行生成输出中。 | 有问题的代码带有蓝色的波浪下划线,并显示在“问题”选项卡中。 |
Off |
完全禁止显示。 | 完全禁止显示。 |
环境 URL
有关硬编码环境 URL 的规则,可以自定义要检查的 URL。 默认情况下,会应用以下设置:
{
"analyzers": {
"core": {
"enabled": true,
"rules": {
"no-hardcoded-env-urls": {
"level": "warning",
"disallowedhosts": [
"api.loganalytics.io",
"api.loganalytics.iov1",
"asazure.windows.net",
"azuredatalakeanalytics.net",
"azuredatalakestore.net",
"batch.core.windows.net",
"core.windows.net",
"database.windows.net",
"datalake.azure.net",
"gallery.azure.com",
"graph.windows.net",
"login.microsoftonline.com",
"management.azure.com",
"management.core.windows.net",
"region.asazure.windows.net",
"trafficmanager.net",
"vault.azure.net"
],
"excludedhosts": [
"schema.management.azure.com"
]
}
}
}
}
}