logging - GCP 日志:如何在对象数组中查询(类似正则表达式)
问题描述
假设我的日志看起来像:
{
jsonPayload: {
anArray: [
{
someField: 10000
}
]
}
}
在我的 GCP 日志查询中,我想查询如下内容:
jsonPayload.anArray.*.someField > 1000
当然,上面的查询是不正确的,但我想知道是否可以查询对象数组中 someField 值高于 1000 的任何项目。
谢谢
解决方案
假设您有一个如下所示的数据结构:
{
"message":{
"message1":[
{
"value":950
},
{
"value":2000
},
{
"value":1200
}
]
}
}
JsonPayload
在 Logs Explorer 中,您可以运行下面的查询,如果其中至少 1 个对象满足条件值 > 1000 ,则返回整个查询。此查询遵循逻辑950 > 1000 OR 9 > 1000 OR 1200 > 1000
。您可以在Querying Logging 文档中阅读有关查询的更多信息。
resource.type="global"
jsonPayload.message.message1.value > 1000
我有另一个JsonPayload
条目,其值为 5000,并且只是该条目的唯一值。从而返回两个条目。
结果:
推荐阅读
- c# - 我如何获得消息中提到的 Discord 成员并授予他角色?
- python - 在 for 循环中迭代 Python 中 Seaborn kdeplot 中的颜色
- javascript - 编写不和谐机器人时的权限问题
- javascript - React:如何仅渲染可见元素
- php - 如何将与 php 中的 html 表单中的字符串相同的图像发送到服务器或作为对 API 的请求
- android - 在颤振中使用流生成器时,我不断收到轻微的空错误
- javascript - 如何将不可点击的纯文本 URL 转换为 HTML 源中的链接
- javascript - 编写高尔夫代码比基本代码更干净
- flutter - 嵌套流构建器以从云 Firestore 获取数据
- python - 使用 MYSQL 查询查询数据库时,SQL Alchemy 非常缓慢