View a markdown version of this page

サーバーレスウェブアプリのリアルタイムデータブロードキャスト - サーバーレスウェブアプリのリアルタイムデータブロードキャスト

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

サーバーレスウェブアプリのリアルタイムデータブロードキャスト

公開日: 2021 年 3 月 24 日 (図の履歴)

このアーキテクチャは、AWS AppSync、、AWS LambdaAWS Step Functionsおよび Amazon DynamoDB を使用して映画投票アプリケーションを作成する方法を示しています。WebSockets 経由のマネージド GraphQL サブスクリプションでは、バックエンドおよびクライアント向けリアルタイムブロードキャストを使用できます。

サーバーレスウェブアプリのリアルタイムデータブロードキャスト

AWS AppSync、 AWS Lambda、 AWS Step Functionsおよび GraphQL サブスクリプションを使用した Amazon DynamoDB を使用したリアルタイムのデータブロードキャストを示すアーキテクチャ図。

次の手順では、アーキテクチャについて説明します。

  1. Amazon CloudWatch Events は、60 秒ごとに Step Functions でワークフローを開始します。

  2. Step Functions は 10 秒ごとに Lambda をトリガーします。

  3. Lambda は The Movie DB API を呼び出して、最も人気のある映画リストから 1 つのランダムな映画のメタデータを取得します。

  4. Lambda は、GraphQL ミューテーションを介して Movie テーブルを更新し、現在の投票をゼロにし、Votes テーブルのリーダーボードを AppSync に賛成します。

  5. AppSync は、Lambda から取得した 1 つの現在の映画で DynamoDB の映画テーブルを更新します。

  6. バックエンドミューテーションにサブスクライブしている接続されたすべてのクライアントは、ブロードキャストを通じて画面上に同じ現在の映画の投稿と概要を表示します。

  7. クライアントは 10 秒のウィンドウ中に現在の映画に投票し、パブリックチャットルームでチャットメッセージを送受信できます。

  8. Lambda は AppSync ミューテーションを通じてリーダーボードとクライアントの映画の投票を更新します。

  9. パブリックチャットルームは、ローカルリゾルバーを介してパブ/サブチャネルに現在のメッセージを表示します。メッセージはバックエンドストレージには保持されず、新しいメッセージのみが表示されます。

詳細情報

詳細については、次のリソースを参照してください。

図の履歴

このリファレンスアーキテクチャ図の更新について通知を受け取るには、RSS フィードをサブスクライブします。

変更説明日付

初版発行

リファレンスアーキテクチャ図が最初に公開されました。

2021 年 3 月 24 日

注記

RSS 更新をサブスクライブするには、使用しているブラウザで RSS プラグインが有効になっている必要があります。