Cloudformation echo json env变量

时间:2017-04-06 15:44:53

标签: json regex bash escaping amazon-cloudformation

我的问题类似于this,我遇到了将JSON放入文件的问题。问题是,无论我如何在CloudFormation模板的userData部分中格式化我的字符串,我似乎无法捕获env $变量同时保持有效的JSON对象(键和值周围有双引号)< / p>

以下是我尝试将对象放入文件(通过echocat << EOF < env-config.json)的两种不同方式,几乎每个字符串转义的组合(单引号缠绕在双引号周围的对象)键...等。)

echo '{\"development\": {\"EnvironmentConfig\": {\"api\": \" 'http://$ip:8000/api' \"}}}' >> env-config.json\n"



cat << EOF > env-config.json
{\"development\": {\"EnvironmentConfig\": {\"api\": \" 'http://$ip:8000/api' \"}}}
EOF

如何在CloudFormation的userData部分中捕获env $变量时,将格式完美的JSON对象放入文件中?

谢谢!

修改

涉及的工具:gulp-ng-config,bash,cloudformation,json

使用gulp-ng-config创建一个带有env-config.json文件常量的模块

1 个答案:

答案 0 :(得分:0)

我找到了答案,我需要在我的JSON的url部分(以及双引号)周围使用单引号,如下所示。这就是整个生产线在Cloudformation中的样子,我希望这有助于某人:

"echo '{\"development\": {\"EnvironmentConfig\": {\"api\": \"'http://$ip:8000/api'\"}}}' >> env-config.json\n",