使用另一个管道重置 StreamSets 管道的来源

Reset Origin of a StreamSets Pipeline using another pipeline

我想使用另一个管道重置 StreamSets 管道的起点。 我制作了一个将 1 条无用记录发送到 HTTP 客户端组件的管道。 HTTP 客户端包含 RESTFUL URL 以重置管道的起点。是这样的:

Resource URL: http://<hostname>:<port>/rest/v1/pipeline/StreamSetsPipelinec78f8739-8adb-47ad-beaa-77b3de60038d/resetOffset

HTTP 方法是 POST

我测试过它并没有重置原点。

谁能帮帮我?

您是否独立测试了 API URL 是否有效?

  • 你试过先用curl测试一下吗?例如,假设您的目标是 SDC(而不是 SCH),这样的事情应该有效:curl -u admin:admin -X POST http://10.0.0.199:18630/rest/v1/pipeline/SDCHTTPClientd8bc16bc-4b4a-49cd-ba4c-41d7831ff5bd/resetOffset -H "X-Requested-By: SDC"
  • 从 HTTP 客户端,您为身份验证类型设置了什么?您是否传递了正确的凭据?
  • 您是否正在传递 header 属性 X-Requested-By?
  • 无论如何,您是否遇到任何错误?
  • 请注意,此 REST API 端点不会 return 响应 body... 仅响应代码 200

在终端中使用 curl 请求,我曾经执行以下操作 (和Dash Desai提到的完全一样)

curl -u ${SSUser}:${SSPW} -X POST http://${SSHost}:${SSPort}/rest/v1/pipeline/${SSPipeID}/resetOffset -H "X-Requested-By:sdc"

但是现在,我想制作一个管道来完成同样的工作。

我现在成功创建了它。我遇到的问题是我没有设置身份验证类型或提供凭据。我也没有传递 X-Requested-By header 属性。我没有收到任何错误。 (与 Dash Desai 建议的完全相同)

以下是我现在的配置:

感谢大家的帮助^^