执行cdk bootstrap命令时如何正确添加多个--tags标签参数
CDK v1 bootstrap多标签传参正确方案
问题原因
你使用的CDK 1.115.0版本中,cdk bootstrap的--tags参数不支持逗号分隔多个键值对的写法,逗号会被识别为标签键的一部分,所以才会出现标签丢失的异常。
正确写法
方法1:直接重复--tags参数(命令行直接执行可用)
cdk bootstrap --profile $AWS_PROFILE aws://XXXXXXXXXX/eu-west-1 \ --toolkit-stack-name some-toolkit-name \ --bootstrap-bucket-name some-s3-bucket-name \ --tags key1=value1 \ --tags key2=value2
方法2:bash数组传参(脚本内使用更稳定,避免参数解析错误)
如果写在bash脚本中,推荐用数组存储标签参数,彻底规避换行、空格导致的bash参数解析异常:
#! /usr/bin/env bash # 按格式定义所有标签 CDK_TAGS=( --tags key1=value1 --tags key2=value2 # 更多标签直接在下方追加即可 --tags key3=value3 ) cdk bootstrap --profile $AWS_PROFILE aws://XXXXXXXXXX/eu-west-1 \ --toolkit-stack-name some-toolkit-name \ --bootstrap-bucket-name some-s3-bucket-name \ "${CDK_TAGS[@]}"
验证方式
执行前可以先打印完整命令确认参数解析正常:
echo cdk bootstrap --profile $AWS_PROFILE aws://XXXXXXXXXX/eu-west-1 \ --toolkit-stack-name some-toolkit-name \ --bootstrap-bucket-name some-s3-bucket-name \ "${CDK_TAGS[@]}"
确认输出内容中每个--tags和对应键值对独立,没有被拼接为单个字符串即可正常执行。
内容的提问来源于stack exchange,提问作者armara
相关产品推荐
相关产品推荐

