我有一个 JSON 文件,其中包含一些参数名称及其值。AWS
这些值是SSM 参数存储的路径。我想从源文件创建另一个 JSON 文件,该文件基本上包含基于路径的参数存储中的实际值。例如:
source.json
{
"redis":{
"cluster":{
"host":"{host_param_name}",
"port":"21",
"username":"{user_param_name}",
"password":"{password_param_name}"
},
"cluster2":{
"host":"{host_param_name}",
"port":"21",
"username":"{user_param_name}",
"password":"{password_param_name}"
}
}
}
目标.json
{
"redis":{
"cluster":{
"host":"localhost",
"port":"21",
"username":"temp",
"password":"temp"
},
"cluster2":{
"host":"localhost",
"port":"21",
"username":"test",
"password":"temp"
}
}
}
因此,在这种情况下,我想调用aws ssm get-parameters --names <name>
value 字段中存在的每个 param_name(用于主机、用户名和密码)并在 target.json 文件中替换它们。
我可以通过阅读单个参数并创建它来做到这一点。但是有没有什么优雅的方法可以让我们基本上迭代每个字段jq
,然后调用aws ssm
命令并替换值。
jq
版本:1.5
提前致谢。