0

我有一个 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

提前致谢。

4

0 回答 0