我正在探索通过 POST/PUT 方法从 BQ 获取一些数据到另一个工具的方法。
用例:我们有一些数据完整性查询,定期检查一个表中的总和是否匹配另一个表中的总和。
理想情况下,我们希望将此计划查询的结果发布到我们的数据目录工具(具有 API 端点)。
有什么办法吗?
谢谢, 多尔
这里是查询 bq 表并检查结果是否匹配的示例代码。例如,这里我使用的是计数,而如果要在代码中求和,您可以更改它
直到 - 检查结果的代码正在运行。下面的代码是调用外部端点的示例代码,它不起作用,因为我没有要测试的外部端点。希望这有帮助吗?
- init:
assign:
- project_id: "myproject"
- bq_datasetset: "zz_DataSet"
- bq_table_1: "tblOne"
- bq_table_2: "tblTwo"
- bq_query: "SELECT if(count(*)=1,true,false) as resultsFlag FROM ( SELECT count(1) as freq FROM `myproject.zz_DataSet.tblOne` UNION DISTINCT SELECT count(1) as freq FROM `myproject.zz_DataSet.tblTwo` );"
- bq-table-results:
call: googleapis.bigquery.v2.jobs.query
args:
projectId: ${project_id}
body:
useLegacySql: false
defaultDataset:
datasetId: ${bq_datasetset}
projectId: ${project_id}
query: ${bq_query}
result: queryResult
- check-result:
return: ${queryResult}
- post_message:
call: http.post
assign:
- bqResult: ${items[i].f[0].v}
args:
url: https://python.new
body:
language: python
result: the_message
- return_value:
return: ${the_message.body}