メッセージの内容に基づいて S3 からファイルをダウンロードする必要があります。つまり、ダウンロードするファイルは以前は不明であり、実行時に検索して見つける必要がありました。S3StreamingMessageSourceは、次の理由で適切ではないようです。
- メッセージを待つ必要がある場合は、ポーリングに依存しています。
S3StreamingMessageSource
フローの途中で動的に作成する方法が見つかりません。gateway(IntegrationFlow)
面白そうに見えますが、必要なのはgateway(Function<Message<?>, IntegrationFlow>)
存在しない です。
別の候補はS3MessageHandler ですが、目的のファイルを見つけるために必要なファイルの一覧表示はサポートされていません。
AWS API を直接使用して独自のメッセージ ハンドラーを実装できますが、これは珍しい要件ではないように思われるため、何か不足しているのではないかと考えています。結局のところ、すべてのアプリがそこに座って新しいファイルを求めて S3 をポーリングし続けるわけではありません。