投稿日: Nov 15, 2019

AWS AppSync はマネージド型 GraphQL サービスです。このサービスを使用すると、1 つ以上のデータソースからのデータに安全にアクセス、操作、結合するための柔軟な API を作成でき、アプリケーション開発がシンプルになります。AppSync を使用すると、サポートされているデータソースをリアルタイムで簡単に作成でき、クライアントとサービスの間で接続管理が自動的に処理されます。本日のローンチにより、メトリックとより大きなペイロードをサポートする新しいプロトコルオプションが有効になり、ゲームのリーダーボード、ソーシャルメディアアプリ、スポーツスコア、ライブストリーミング、インタラクティブチャットルーム、IoT ダッシュボードなど、リアルタイムの更新を必要とするアプリケーションへのアクセスをさらに最適化する AppSync の機能強化がリリースされます。

WebSocket 上の MQTT に加えて、アプリケーションは、接続されたクライアントとリアルタイムで通信するための新しいプロトコルオプションとして、純粋な WebSocket を利用できるようになりました。新しいプロトコルは、より高いペイロードの最大サイズ (240 kb 対128 kb)、強化された接続およびブロードキャストレート、CloudWatch メトリック、GraphQL サブスクリプションの選択セットフィルタリングをサポートします。本日より、新規および既存の AppSync API の両方で純粋な WebSocket プロトコルをサポートします。WebSocket 上の MQTT も利用可能ですが、新しいプロトコルは今後推奨されるオプションであり、新しい機能をサポートします。新しいプロトコルは、iOS、Android、および JavaScript (ウェブおよび React Native) のインテリジェントライブラリと連携して、クライアント接続、スケーラビリティ、ファンアウト、およびブロードキャストを処理します。これにより、開発者は、WebSocket の運用とインフラストラクチャ管理ではなく、リアルタイムアプリケーションのビジネスにおける差別化要因に集中することができます。

すべての新機能を利用するには、クライアントは最新の AppSync SDK for JavaScript および iOS (バージョン 3.0.2+) および今日ロールアウトされる Amplify クライアント (バージョン 2.1.0+)、来週ロールアウトされる AppSync SDK for Android にアップグレードする必要があります。新しいクライアントバージョンのデフォルトでは、純粋な WebSocket を使用して自動的に接続します。既存のクライアントは影響を受けることなく、以前と同様に WebSocket 上の MQTT を介して GraphQL サブスクリプションを使用し続けます。既存のクライアントと新規クライアントの両方が、GraphQL サブスクリプションを使用してデータを送受信し、プロトコルに関係なく同じ API で相互に通信できます。開発者の観点からのアクションは不要です。また、既存のクライアントには影響がないため、コードを変更する必要はありません。

新しいリアルタイム機能の詳細については、ブログ記事AppSync ドキュメントを参照してください。