【问题标题】:Jq adding extra double quotation marks when parsing with AWS Secrets ManagerJq 在使用 AWS Secrets Manager 解析时添加额外的双引号
【发布时间】: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


【解决方案1】:

你输出为文本,jq需要什么?

--输出文本

如果你想输出为json你可以使用

--输出json

【讨论】:

    猜你喜欢
    • 2022-10-24
    • 2022-10-05
    • 1970-01-01
    • 2019-07-06
    • 2019-06-11
    • 2015-09-22
    • 2014-10-04
    • 1970-01-01
    • 2021-11-15
    相关资源
    最近更新 更多