Data Kioskクエリのスケジュール設定
データキオスククエリをスケジュールする方法をご覧ください。
このガイドを使用して、定期的に自動的に電話をかける方法を学んでください createQuery
冗長なデータリクエストを避けながら。
注
このスケジューリングメカニズムの完全なコードサンプルは、当社で公開されています GitHub のサンプルリポジトリ。
データキオスクの概要
データキオスクを使用するには、次の手順が必要です。
- 通知を購読する: SQS キューをに登録する
DATA_KIOSK_QUERY_PROCESSING_FINISHED
通知:データ処理が完了すると通知されます。 - クエリーの作成: を使用して GraphQL クエリを送信してください。
createQuery
オペレーション。 - ドキュメントを取得: 使用
dataDocumentId
またはerrorDocumentId
を使用してドキュメントの詳細情報を取得するにはgetDocument
オペレーション。これらの属性は通知ペイロードにあります。受信した場合errorDocumentId
、失敗の理由は文書に記載されています。 - データを保存する: を取得して保存する ジェイソンル からのファイル
documentUrl
さらなる処理とアクセス用。
注
データキオスクワークフローの詳細については、以下を参照してください。
チュートリアル:データキオスクのスケジューリングメカニズムの構築
重複した呼び出しを避けながら、データキオスクに自動的かつ定期的にクエリを実行する方法を説明します。
ステップ 1:スケジュールパラメータを定義する。
クエリの開始日と実行頻度を決めます。
注
クエリの開始日が過去のもので、スケジューラにバックフィルさせたい場合は、現在の日付をクエリするまで、できるだけ頻繁にクエリを作成してください。これにより、データは最新の状態に保たれます。たとえば、開始日が 1 か月前で、毎日の情報が必要な場合は、スケジューラーが過去 1 か月間の各日のクエリを当日に達するまで迅速に実行するようにソリューションを調整します。
バックフィルが必要ない場合は、開始日を現在または将来の日付に設定して、スケジューラが過去のクエリを作成しないようにしてください。
一般的な頻度には、毎日、毎週、または毎月が含まれます。どのレートを選択するかは、データが更新される頻度によって異なります。たとえば、データが毎日更新される場合は、毎日の頻度が適切です。クエリを頻繁に行わないでください。データセットが毎日更新される場合、1 時間ごとのクエリは不要です。
ステップ 2:クエリーパラメーターの調整
各クエリが新しいデータを取得できるように、希望するレートに基づいてクエリの開始日と終了日をシフトする関数を作成します。たとえば、スケジュールレートが日単位の場合、関数は新しいクエリごとに開始日と終了日を 1 日ずつ調整する必要があります。
警告!
データセットが異なれば、属性キー名やデータ再ロード期間も異なります。各データセットの開始日と終了日の属性キーを把握しておいてください。開始日と終了日の属性を更新またはシフトすると、キー名がデータセットによって異なる場合があります。
ステップ 3:クエリーを作成する。
クエリを自動的に送信するには、次のようなイベントスケジューラを使用します。 AWS イベントブリッジ。EventBridge では、cron 式または rate 式を使用して定期的なタスクを設定できます (たとえば、5 分ごと、1 時間ごと、1 日ごと)。クエリの日付を自動的に調整し、次を呼び出すように EventBridge を設定します。 createQuery
一定の間隔で継続的かつ効率的にデータを取得する。
ステップ 4:スケジュール情報を保存する。
開始日、レート、関連するクエリなどのスケジュール情報をデータベースに保存します。必要に応じてスケジュールをキャンセルしたり削除したり、監査や報告のためにクエリのログを保存したりできるようにしてください。
ベスト・プラクティスと考慮事項
エラーを回避し、冗長性を処理します。考慮すべき事項には以下が含まれます。
-
冗長性を回避: クエリが固有のデータを要求していることを検証してください。以前に保存したデータタイムスタンプと重複していないことを確認し、同じクエリに対して複数のスケジュールを作成しないでください。前のクエリがまだ実行中の場合、クエリの作成は失敗します。
-
ログエラー: 失敗したクエリによってスケジューリングメカニズム全体が停止しないようにしてください。包括的なロギングを実装して、クエリの送信中やデータ取得中のエラーを把握してください。データキオスクから返されるエラードキュメントを処理し、含まれているエラーを修正します。
-
リトライ: 同時実行クエリの制限によりクエリが制限される場合は、エクスポネンシャルバックオフを使用する再試行メカニズムを組み込んでください。
-
監視とアラート: リアルタイムで監視し、失敗したクエリ、レート制限を超えた、または処理時間が長くなるとエラーアラートを設定できます。問題をすばやく特定して対応できます。
さまざまなエラーとその修正方法の詳細については、を参照してください。 処理エラーの処理。
Updated 23 days ago