配置cfn-lint为pre-commit钩子时出现区域参数解析错误,求排查
问题分析与解决
你的配置文件存在参数格式问题,导致pre-commit钩子传递给cfn-lint的区域参数异常。
问题根源
你在args里给eu-west-1加了单引号:
args: [--regions, 'eu-west-1']
pre-commit在传递参数时,会将单引号当作参数的一部分传递给cfn-lint,此时cfn-lint接收到的区域值是'eu-west-1'(带单引号),而非正确的eu-west-1,这就触发了“不支持的区域”错误。而你手动执行命令时没有加单引号,所以能正常验证。
修复方案
修改.pre-commit-config.yaml中的args部分,去掉eu-west-1的单引号:
repos: - repo: https://github.com/awslabs/cfn-python-lint rev: v1.23.1 # The version of cfn-lint to use hooks: - id: cfn-lint files: final_stacks/.*\.(json|yml|yaml)$ args: [--regions, eu-west-1]
验证步骤
- 重新安装pre-commit钩子,确保配置生效:
pre-commit install --hook-type pre-commit
- 再次执行
git commit,钩子应该能正常运行,不再报错。
内容的提问来源于stack exchange,提问作者Steyn van Wyk
相关产品推荐
相关产品推荐

