apache-nifi - 在流期间执行一次 NIFI InvokeHTTP 处理器,而不是基于每个入站流文件
问题描述
我有一个 NIFI 流,可以将文件从一个 FTP 服务器移动到另一个。该流程以 ListSFTP 处理器开始,以 PutSFTP 处理器结束。使用 PutSFTP 处理器进行身份验证所需的密码存储在另一个应用程序中,该应用程序公开 REST 端点以获取密码。我想获得一次密码并使用相同的密码将所有获取的文件放入目标 SFTP 服务器。请告知在这种情况下我可以在哪里/如何使用 InvokeHTTP 处理器,以便不会为每个流文件调用它(在每个流文件的基础上获取密码是没有意义的)。
解决方案
根据 auth-token 的生存时间创建一个按时间安排的并行流。
例如,如果令牌在 60 分钟内有效 - 然后每 45 分钟安排一次。
RequestAuth(InvokeHTTP) --> PutDistributedMapCache
并在您的主要流程中使用FetchDistributedMapCache
而不是 InvokeHTTP
推荐阅读
- c++ - VSCode 调试器冻结
- synchronization - 有哪些方法可以同步振荡器系统?
- reactjs - 无法在未安装的组件上执行 React 状态更新 - 表示内存泄漏
- python - 住房机器学习错误:“支持的目标类型是:('binary','multiclass')。得到了'multilabel-indicator'”
- windows - Windows 10 上的 MSYS2 - 无法使用 pacman 更新包数据库
- woocommerce - 一张优惠券例外
- mongodb - 从 mongoDB 迁移到 clickhouse 中的嵌套数据结构
- java - 在java中生成-1到1之间的随机数
- android - AWS AppSync - Angular 混合移动应用程序
- aws-lambda - 为什么这个简单的 Lambda 函数的日志中没有显示输出