2017-04-06 66 views
0

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

下面是两种不同的方式,我试图通过几乎每个字符串转义组合(通过围绕对象键转义的双引号包裹单引号)等方式将对象转换为文件(通过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 

我怎样才能把我的完美的格式化JSON对象到一个文件中,同时从CloudFormation的用户数据部分捕获它的ENV $变量?

谢谢!

编辑

工具涉及:吞掉-NG-配置,庆典,cloudformation,JSON

使用一饮而尽-NG-config来创建与ENV-config.json常数模块文件

+0

你想怎么_exactly_输出'JSON'? – Inian

+0

{“development”:{“EnvironmentConfig”:{“api”:“http:// $ ip:8000/api”}}} 其中$ ip是env变量。 @Inian – ssl

+0

你能看到我的答案是你需要的吗? – Inian

回答

0

我发现了答案,我需要单引号围绕我的JSON的URL部分(以及双引号),如下所示。这是整条生产线将是什么样子的Cloudformation,我希望这可以帮助别人:

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