DynamoDB Streams

DynamoDB テーブルの変更をリアルタイムでキャプチャし、Lambda で処理するイベントソース

AWSイベント駆動

DynamoDB Streams とは

DynamoDB Streams は、DynamoDB テーブルのアイテムの追加・更新・削除をリアルタイムでキャプチャし、Lambda で処理するイベントソースである。CDC (Change Data Capture) の AWS 実装で、テーブルの変更を他のサービスに伝播する。

ユースケース

ユースケース 説明
検索インデックスの同期 DynamoDB → OpenSearch
キャッシュの無効化 DynamoDB → Lambda → ElastiCache 削除
集計テーブルの更新 注文追加 → 売上集計を更新
通知 新規注文 → SNS → メール送信
監査ログ 全変更を S3 に保存

アーキテクチャ

[DynamoDB テーブル][DynamoDB Streams][Lambda][OpenSearch / SNS / S3]

StreamViewType

タイプ 含まれるデータ
KEYS_ONLY キー属性のみ
NEW_IMAGE 変更後のアイテム
OLD_IMAGE 変更前のアイテム
NEW_AND_OLD_IMAGES 変更前後の両方

注意点

注意点 対策
順序保証はパーティションキー内のみ 同じキーの変更は順序保証
最大 2 つの Lambda を接続可能 3 つ以上は EventBridge Pipes 経由
24 時間でストリームレコードが期限切れ 処理が遅延すると消失
冪等性が必要 リトライで同じレコードが再送される

実務での活用方法は関連書籍にも詳しい。

関連用語