kubectl - 需要 kubectl jsonpath 参数来获取由字符串索引的数组条目
问题描述
我有一些脚本将“kubectl ... -o json”通过管道传输到“jq”。我一直在将其中的许多事件转换为使用“jsonpath”参数到 kubectl,这样我就可以跳过 jq 步骤。
由于标点符号问题,其中一组我无法转换。原始行看起来像这样:
kubectl ... -o json | jq -r '.data["application.properties"]'
在 json 中,有一个“数据”映射,其键的名称中可以有句点,所以我必须将它作为一个数组进行索引,名称作为键。使用 jq 可以正常工作。
this 到 jsonpath 的简单转换看起来像这样:
kubectl ... -o=jsonpath="{.data["application.properties"]}"
这失败了:
error: error parsing jsonpath {.data[application.properties]}, invalid array index application.properties
这似乎不是引用问题,因为它清楚地检测到我尝试的数组索引是什么,它只是不允许我使用它。
有没有办法完全用 jsonpath 做到这一点?
解决方案
诀窍是转换
{.data["application.properties"]}
至:
{.data.application\.properties}
(根据需要引用)
推荐阅读
- swift - 使用具有通用关联类型的关联类型扩展类型
- vue.js - Vue3 vite:npm run serve 没有加载我所有的文件(结果:404)
- hadoop - hbase表顶部的凤凰视图问题
- apache-spark - 使用 externalShuffle 服务在 Spark 中清理文件
- javascript - 如何从对象数组创建下拉列表?
- visual-studio - 双击鼠标关闭选项卡
- reactjs - 无法根据 prevState 更新状态
- javascript - 为什么 for 循环不为代码添加数字?
- reactjs - localhost 响应时间过长。windows10 反应
- flutter - 如何在扑扑中以编程方式打开抽屉