AWSは比較的初めてです。私は一般的なパターンであると私が思うものを使用しています:
このリンクを作成するための2つのオプションが表示されます(SNSは無視されます)。
最初は膨大な数のイベントを処理することはありませんが、将来的には、このラムダにさらに多くのバケットを接続することが期待されます。即時の呼び出し、メッセージの順序、速度/時間は、それほど重要ではありません。ただし、再試行、「失敗」したファイル、DLQ、およびその他すべての優れた機能のキャプチャisは重要です。
私はSQSルートに傾いています。それは私の要件によく合うと思います、それは私が何とか機能するテラフォームモジュールを作ることができたものであり、それが何らかの意味で私の請求書に追加されることはないと思います。
これは意見の問題ですか、それとも客観的により良い選択肢がありますか?
最も堅牢なアプローチは
S3 -> SNS -> SQS -> Lambda
SNSはそのpubサブエンドポイントを提供するので、必要に応じてイベントにより多くのものを添付できます。
SNSを使用すると、メッセージを1回公開して1回以上配信できます。 SNSトピックは、受信者がイベント通知を受信するために動的にサブスクライブできるアクセスポイントです。
SQSはエラー処理と保証された配信を提供します
パブリッシュされたすべてのメッセージが正常に処理されることが重要である場合、開発者は(他のトランスポートを介した通知に加えて)SQSキューに配信される通知を持っている必要があります。
ただし、選択のすべての組み合わせに信頼性オプションがあります。 1つの方法があなたにとって正しい方法であると言うためには、非常に具体的な要件が本当に必要です。