AWS AppSync のバージョニングされたデータソースでの DynamoDB 同期オペレーションの使用
バージョン管理されたデータソースは、DynamoDB テーブルからすべての結果を取得し、最後のクエリ (差分更新) 以降に変更されたデータのみを受け取る Sync オペレーションをサポートします。AWS AppSync は、Sync オペレーションのリクエストを受信すると、リクエストで指定されたフィールドを使用して、ベーステーブルまたは差分テーブルにアクセスする必要があるかどうかを判断します。
-
lastSyncフィールドが指定されていない場合は、基本テーブルでScanが実行されます。 -
lastSyncフィールドが指定され、値がcurrent moment - DeltaSyncTTLの前にある場合は、基本テーブルでScanが実行されます。 -
lastSyncフィールドが指定され、値がcurrent moment - DeltaSyncTTLまたはそれ以降にある場合は、差分テーブルでQueryが実行されます。
AWS AppSync は、すべての Sync オペレーションのレスポンスマッピングテンプレートに startedAt フィールドを返します。startedAt フィールドはエポックミリ秒単位の時刻ですが、Sync オペレーションが開始されれば、ローカルに保存して別のリクエストで使用することができます。ページ分割トークンがリクエストに含まれている場合、この値は、結果の最初のページのリクエストによって返されたものと同じになります。
Sync マッピングテンプレートの形式については、マッピングテンプレートのリファレンスを参照してください。