0

私は、ユーザーが指定した時間に基づいてhttp APIをトリガーするアプリケーションで作業しています。基本的には、Nodejs上のメッセージスケジューリングアプリケーションで、異なるWebサービスを呼び出して、ユーザーが指定した時間に通信してデータを送信します。私は、AWS dynamo dbを使用してユーザーメッセージを保存し、公開するときは&という日付を使用しています。 これを達成するための最良の解決策は何でしょうか?nodejsを使用してユーザー指定の時間に基づいてAPIを自動的にトリガーする

ありがとうございます。

答えて

1

この問題を解決する方法のトンがありますが、私はクリーンなソリューションが

DynamoDBの(TTLフ​​ィールドを持つ表)であることだと思う - > DynamoDBStreams(旧画像) - >(削除レコードをチェック)Lambda(ここでイベントで何でもしてください)

レコードをトリガーするTTLフィールドを使用してDynamoDBにレコードを作成します。ストリームは、ラムダが受信できるレコードストリームメッセージを削除し、そこから何らかのアクションを取ることができます。

希望します。

+0

私はスケジュールされたアイテムのリストを表示したいので、私はデータベースからレコードを削除したくありません。 –

+0

レコードを別のテーブルに再度挿入することができます。時間ベースのトリガーのためのスケーラブルな方法です。 – Kannaiyan

+0

TTLの有効期限が切れたときにAPIコールをトリガーする方法は? dynamodbストリーム/ TTLを使用する以外に解決策はありますか? –

1

データポストのタイムスタンプとエンドポイントをDynamoDBに保存し、レコードを頻繁にチェックしてデータをポストするLambda Schedule Eventを使用することができます。

タイムスタンプをソートキーとして保存して、現在のタイムスタンプと照合することができます。

注:DynamoDB TTLアプローチの課題の1つは、(TTL値で)データを送信するタイムスタンプが最大48時間まで変化することです。 documentation

によればDynamoDBのは、典型的には、 満了の48時間以内に期限切れのアイテムを削除します。アイテムが実際に削除される正確な持続時間は、作業負荷の性質とテーブルのサイズ( )によって異なります。有効期限が過ぎると、 が削除されます。

関連する問題