You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将GraphQL查询中当前迭代的applicationId传递给timeSlicedEvents方法

问题解决方案

你要实现的「将父字段返回值传递给子字段入参」的能力,GraphQL 标准目前没有内置对应指令支持,这也是你搜不到相关术语的核心原因。

核心原因

GraphQL 的字段参数是在请求解析阶段就需要确定的静态值,而父字段的返回值要到查询执行阶段才会生成,两者的生命周期不匹配,原生不支持这种动态传参逻辑。

最优解决方式(推荐)

调整后端 GraphQL Schema 定义即可:
timeSlicedEvents 本身是 Application 类型下的子字段,后端在解析该字段时可以直接拿到父级 Application 实例的 applicationId 属性,不需要前端在查询时主动传入该参数。
调整后的查询代码如下:

allApplications(onlyMonitored: false) {
  applicationId
  name
  timeSlicedEvents(duration: 1800, slices: 80) {
    sliceId
    warningCount
    failureCount
  }
}

备选方案(无法修改后端时使用)

如果没有权限调整后端 Schema,可以分两次请求实现需求:

  1. 第一次请求查询全量 applicationId 列表
  2. 第二次批量发起查询,将每个 applicationId 作为参数传入单独的 timeSlicedEvents 查询,通过别名区分不同应用的返回结果,示例如下:
query getAppEvents($appId1: ID!, $appId2: ID!) {
  app1Events: timeSlicedEvents(duration: 1800, slices: 80, applicationId: $appId1) {
    sliceId
    warningCount
    failureCount
  }
  app2Events: timeSlicedEvents(duration: 1800, slices: 80, applicationId: $appId2) {
    sliceId
    warningCount
    failureCount
  }
}

内容的提问来源于stack exchange,提问作者TugboatCaptain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 12:45:06