我需要根据消息内容从 S3 下载文件。换句话说,要下载的文件以前是未知的,我必须在运行时搜索并找到它。S3StreamingMessageSource似乎不太合适,因为:
- 它依赖于轮询,因为我需要等待消息。
- 我找不到
S3StreamingMessageSource
在流程中间动态创建的任何方法。gateway(IntegrationFlow)
看起来很有趣,但我需要的是一个gateway(Function<Message<?>, IntegrationFlow>)
不存在的。
另一个候选者是S3MessageHandler但它不支持列出查找所需文件所需的文件。
我可以直接使用 AWS API 实现我自己的消息处理程序,只是想知道我是否遗漏了什么,因为这似乎不是一个不寻常的要求。毕竟,并非每个应用程序都只是坐在那里并不断轮询 S3 以获取新文件。