【发布时间】:2021-09-22 14:36:50
【问题描述】:
我正在尝试访问 GitHub API 并将内容写入 FlowFile。我可以在 Python 脚本中创建 FlowFile,也可以使用 GenerateFlowFile 并将其发送到脚本中,我并不挑剔。到目前为止,我创建 JSON 的代码如下(使用 urllib 来遵守 Jython):
import urllib.request
import json
headers = {
'Content-Type': 'application/json {}'.format('cat'),
'Authorization': 'token TOKEN_TEXT'
}
page = 1
response_text = []
while page > 0:
req = urllib.request.Request(url="GITHUB_API_URL".format(page),\
data=None, headers=headers)
with urllib.request.urlopen(req) as resp:
data = json.loads(resp.read().decode("utf-8"))
if len(data) == 0:
break
else:
response_text.extend(data)
page += 1
我已经确认我获得了所需的 JSON,我真的只需要将 response_text 写入 FlowFile 以传递到我的流中的下一个处理器。我已经尝试过研究,但似乎在 ExecuteScript 处理器上找不到任何硬文档(如果您知道我在哪里可以找到,我也将不胜感激)。
【问题讨论】:
-
这是python 2吗?
-
不,python 3。我读过 ExecuteScript 仅适用于纯 python 库,所以我尝试将其保留为 json 和 urllib
-
考虑 ExecuteStreamCommand 过程,以便您可以使用标准 Python 代替 Jython。您可以传递命令行选项并设置 ENV 变量。设置 PYTHONPATH 以查找模块。此命令替换流文件。
标签: python apache-nifi