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

如何从BigQuery通过PUT/POST调用REST API发送查询结果

问题解决:Cloud Workflows YAML缩进错误及后续对接BigQuery方案

错误原因

你遇到的是YAML缩进不规范导致的解析错误,YAML对缩进层级要求严格,原代码中post_message步骤与同级的init步骤缩进未对齐,同时assign下的变量列表缩进也存在层级混乱,导致解析器无法识别块映射结构。

修正后的Workflow代码

main:
  steps:
    - init:
        assign:
          - api_endpoint: "https://closed.abc.com/api/v1/testCase/fqn/testCaseResult"
          - auth_token: "token"
          - request_body:
              result: "Add a test case result data result"
              testCaseStatus: "Failed"
              testResultValue: 
                - name: "outliers A"
                  value: "10"
                - name: "outliers B"
                  value: "10"
                - name: "outliers C"
                  value: "10"
              timestamp: 1679539970
          - request_headers:
              Content-Type: "application/json"
              Authorization: concat("Bearer ", $auth_token) 
    # 调用API端点发送请求体
    - post_message:
        call: http.put
        args:
          url: ${api_endpoint}
          headers: ${request_headers}
          body: ${request_body}
        result: the_message
    # 返回API响应体
    - return_value:
        return: ${the_message.body}

关键修正点

  • steps下的所有步骤(init/post_message/return_value)缩进统一,确保为同级列表项
  • assign下的每个变量相对于assign:缩进2个空格,保持层级清晰
  • testResultValue下的数组子项,相对于父键缩进2个空格,保证数组结构正确

修正后的代码会自动将request_body序列化为你在Postman中使用的标准JSON格式,可正常发送请求。

后续对接BigQuery的实现方案

  1. 在Workflow中添加BigQuery查询步骤:使用bigquery.query方法执行你的数据完整性检查SQL,获取查询结果
  2. 映射查询结果到请求体:解析查询返回的数据,将求和匹配状态赋值给testCaseStatus,把不匹配的明细数据填充到testResultValue数组中
  3. 配置自动化调度:通过BigQuery调度器定期触发该Workflow,实现数据完整性结果的自动推送

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 03:05:15