使用 aws cli,我可以在 AWS Paramater Store 中成功创建参数并使用 get-parameters 检索它。
示例:
anarinsky:~> aws ssm put-parameter --name /IAD/ERP/Oracle/addUsers --value "Milana,Mariana,Mark,Miguel" --type StringList --region us-east-1
anarinsky:~> aws ssm get-parameters --name "/IAD/ERP/Oracle/addUsers" --region us-east-1
{"Parameters": [{ "Name": "/IAD/ERP/Oracle/addUsers","Type": "StringList","Value": "Milana,Mariana,Mark,Miguel" } ], "InvalidParameters": []
}
如何使用 aws ssm get-parameters-by-path 检索相同的参数?
要按路径检索,命令是
aws ssm get-parameters-by-path --path "/IAD/ERP/Oracle/" --region us-east-1
我在指定部分路径时遇到了问题。我需要添加
--recursive
标志才能在这种情况下匹配。
例如,在一组具有数据库连接信息的参数中,对于多个数据库,此查询返回
{ parameters[] }
aws ssm get-paramters-by-path /prod/appA/db
而对我们的报告中心数据库(路径中的最后一个节点)的查询工作正常:
aws ssm get-parameters-by-path --path /prod/appA/db/rc
要获取非结束节点的key下的所有参数,添加--recursive,这样
aws ssm get-paramters-by-path --path /prod/ --recursive
返回所有生产参数。
额外提示:添加
--query 'Parameters[].[Name,Value]'
以仅选择您想要的,并且 --with-decryption
(如果有)存储为 SecureString
。
如果有人来到这里寻找 NodeJS 解决方案。
{ Path: '/app/', Recursive:true }
await ssmClient.send( new GetParametersByPathCommand( { Path: "/app/", Recursive:true } ) )
这是您问题的文档链接
“https://docs.aws.amazon.com/cli/latest/reference/ssm/get-parameters-by-path.html”
aws ssm get-parameters-by-path --path "/site/newyork/department/" --region any