Sor*_*lac 0 rest adobe-analytics oauth-2.0 postman apache-nifi
我不介意您是否使用 Adobe Analytics 以外的其他 API 中的示例。我只需要知道必须遵循的模式才能成功将 Postman 请求转换为 NiFi 请求。
\n\n在成功创建通过 Postman 从 Adobe Analytics 提取报告的请求后,我在将这些 Postman 请求迁移到 NiFi 时遇到了困难。我还没有\xc2\xb4t 能够找到具体的用例来明确解释如何逐步完成此类任务。
\n\n我正在尝试在 NiFi 之上构建一个后端,以高效、稳健的方式处理从 Adobe Analytics 提取的多个数据。也就是说,不必自己创建所有必需的脚本。然而,有关 REST API 和 Postman 案例的文档比有关 REST API 和 NiFi 案例的文档还要多。
\n\n在下面的屏幕截图中,我们可以看到 Postman 请求的样子。它需要 3 个标头和 1 个包含授权值(承载令牌)的临时标头。在“授权”选项卡中填写 OAuth 2.0 授权表单后,会自动生成此临时标头,如下所示。
\n\n\n\n然后,我们就有了请求的正文。此 json 文本是通过调试 Adobe Analytics 的工作区自动生成的,如下所示。
\n\n\n\n如果可能的话,我想通过屏幕截图逐步了解以下内容:
\n\n可以看到,问题主要涉及NiFi中的属性设置,以及处理器的选择。我已经尝试配置一些处理器,但我似乎没有获得正确的属性设置,或者我可能选择了错误的处理器。
\n\n我正在使用 NiFi v1.6.0 和 Postman v7.8.0
\n\n对于已经熟悉 NiFi 和 API 请求的用户来说,这很可能是一项简单的任务,但事实证明这对我来说具有挑战性。希望这将帮助其他希望使用 NiFi 而不是手动构建更强大管道的用户。
\n\n谢谢。
\n只需 3 个 NiFi 处理器即可复制在 Postman 中运行的 REST API 请求。在此解决方案中,我们使用包含嵌套 JSON 请求的请求。这种简单方法的优点是减少了从 API 获得成功响应所需的配置量。也就是说,即使您使用复杂的 JSON 请求。在这种情况下, JSON 请求的正文通过处理器传递GenerateFlowFile
,不需要任何其他处理器来解析/格式化请求。
步骤1。创建一个名为 的处理器GenerateFlowFile
。您必须修改的唯一属性是自定义文本。将整个 JSON 请求粘贴到其中,就像在 Postman 中一样。在本例中,我使用与上面问题中显示的完全相同的 JSON。将“屈服持续时间”设置为 10 秒或更长是个好主意。
第2步。创建一个名为 的处理器InvokeHTTP
。然后修改如下截图所示的6个属性。使用与 Postman 中相同的授权详细信息。确保在测试后从 Postman 复制 Bearer 令牌。另外,不要忘记设置HTTP Method
,Remote URL
和Content-Type
。
步骤#3。最后,添加几个LogAttribute
处理器来存储InvokeHTTP
. 这些处理器之一LogAttribute
应该存储成功的响应。另一种可用于Failure、Original、Retry 和 No-Retry。或者您可以LogAttribute
为每个输出创建。
步骤4。现在,连接处理器并开始数据流!您应该开始看到数据填充Success LogAttribute
。然后,您可以使用“数据来源”选项来查看传入的数据,并确认这与您之前从 Postman 获得的结果完全相同。
注意:这是一个简单、直接、“适合初学者”的解决方案,用于使用嵌套静态 JSON 复制 Postman API 请求。StackOverflow 中有更多解决方案可以处理更复杂的情况,例如动态 JSON。以下是其他一些帖子的列表:
归档时间: |
|
查看次数: |
3095 次 |
最近记录: |