如何自动禁用AWS CDK的路径与资产元数据?
解决方案
最稳定的实现方式
直接在 CDK 应用初始化的代码中传入禁用参数,优先级高于所有配置文件设置,全版本 CDK 兼容:
from aws_cdk import App app = App( path_metadata=False, # 禁用路径元数据 asset_metadata=False, # 禁用资产元数据 # 保留你原有 App 初始化的其他参数 ) # 你原有栈定义代码保持不变 # 例如:MyStack(app, "my-stack") app.synth()
配置完成后执行正常的cdk synth或cdk deploy命令即可自动生效,不需要额外加 CLI 参数。
不修改代码的替代方案
如果不想调整应用代码,可以封装简易执行脚本替代原生 cdk 命令,在项目根目录新建cdk.sh文件:
#!/bin/bash cdk "$@" --path-metadata false --asset-metadata false
给脚本添加执行权限:chmod +x cdk.sh,后续所有 cdk 操作都用./cdk.sh替代即可,例如./cdk.sh deploy,支持传入所有原生 cdk 命令的参数。
原有配置不生效的原因
assetMetadata和pathMetadata属于 CLI 运行时参数,目前版本的 CDK 不支持在cdk.json顶层直接配置这两个参数;你放在 context 块中的键名不符合 CDK 上下文参数的命名空间规范,因此会触发警告且不会生效。
内容的提问来源于stack exchange,提问作者donkz
相关产品推荐
相关产品推荐

