【发布时间】:2020-05-04 07:09:04
【问题描述】:
我的秘密以以下格式存储在 AWS Secrets Manager 中:
KEY_1 "XXXX"
KEY_2 0
我正在尝试按以下格式检索秘密:
KEY_1="XXXX"
KEY_2=0
这意味着它们在 Secrets Manager 中的存储方式与 = 符号相同。我使用jq以如下方式解析:
aws secretsmanager get-secret-value --secret-id <secret_name> --output text --query SecretString \
| jq -r 'to_entries[] | [.key, "=", "\"", .value, "\"" ] | @tsv' \
| tr -d "\t"
此命令运行良好,但有一个小问题。此命令在 value 字段中添加一个额外的双引号 ("")。它给出以下输出:
KEY_1=""XXXX""
KEY_2="0"
但我不希望添加这些额外的双引号。我希望在上面检索时输出的格式与上面描述的格式相同,即没有额外的引号。
【问题讨论】:
-
然后删除
"\""s。我真的不明白这里问的是什么;这是 JQ 问题还是 AWS 问题? -
@oguzismail 感谢它的工作,这是一个 AWS 问题,需要通过
jq进行解析。实际上我没有得到正确的jq语法。
标签: json linux amazon-web-services jq aws-cli