0

我对 Matillion 完全陌生,我不确定如何为 POST 请求管理 Matillion API 配置文件。

我有一个编排和转换工作,它从源中提取数据并通过转换执行业务逻辑并将数据加载到目标表中。

将数据加载到目标表(Snowflake DB)中后,我需要从中提取数据并进行 API POST 调用,以便以 JSON 格式向第三方供应商获取数据。

Sample command line argument to make API post call using curl

curl -L https://xxx.xxxxx.xxx/v1/load_data -X POST -H 'Content-Type: application/json'  -H 'x-api-key: somekey'  -d '{"is_ingestion_finished": false, "job_id": "", "chunk_number": 1, "payload": [{"key1": "value1","key2": "value2"},{"key1": "value1_1","key2": "value2_2"}]'

上面的命令行参数将通过 POST 获取数据。请注意,“is_ingestion_finished”值需要设置为 false,直到从目标表中检索到最后一块数据,并且在最后一块时,它应该设置为 true。对于第一个块,“job_id”应设置为空。处理完第一个块后,我们将在 API 响应中获取作业 ID,并且需要将其用于其余块。

我浏览了 Matillion 文档,似乎 API Query 组件用于通过 API 发出 GET 请求并将其存储在表中。

不确定如何通过发出 API 发布请求从目标表中发布数据,另外我需要分页逻辑来发布请求,因为数据集很大并且需要分块发送结果集。

我目前使用的 Matillion 版本是 1.46.5(build 2)。任何有关配置 API 配置文件或任何示例 rsd 脚本或 python 脚本的步骤的帮助将不胜感激。谢谢!

4

1 回答 1

0

您可以按如下方式执行此操作:

  1. 定义一个作业变量以包含雪花表中的有效负载
  2. 使用“查询结果到标量”组件将有效负载从雪花加载到变量中
  3. 使用“Python 脚本”组件(编排作业:脚本)在 Matillion 中执行 POST 事件。

Matillion 中还有一个新组件:“Webhook Post”,它也可以满足您的需求:https ://documentation.matillion.com/docs/2576584

于 2021-06-16T21:14:47.543 回答