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
マッピングテンプレートの形式については、マッピングテンプレートのリファレンスを参照してください。