Skip to main content
api.apps.realtime(appId, { signal }) は、アプリのログ、ステータス、システムイベントのライブストリームを開きます。これは非同期イテラブルなので、for await で消費します。 サンプルでは、クライアントの作成で作成した api クライアントを使います。appId はあなたのアプリの ID で、api.account.me() で一覧できます。

イベント

すべてのイベントには event、data (生のフレームテキスト)、id があります。

status オブジェクト

ストリームの終了

ループは次の場合に自動的に終了します:
  • サーバーが接続を正常に閉じたとき (各接続は最大 10 分続きます)
  • サーバーが REALTIME_DISCONNECTED を送信したとき
  • ループから break したとき
  • controller.abort() を呼び出したとき (ループは単に終了し、例外はスローされません)
10 分を超えて監視を続けるには、ループが終了したときに新しいストリームを開いてください。

再接続

接続が切れた場合や、サーバーが再接続をクライアントに委ねた場合 (REALTIME_RECONNECT)、ストリームは自動的に再び開かれます:
  • 連続 3 回まで。logs または status のイベントを受け取るとカウントはリセットされます
  • API の制限 (アプリごとに 5 秒に 1 回のオープン) を下回るよう、各再オープンは前回のオープンから最低 5.5 秒空けて行われます
再接続に 3 回失敗すると、ループは NETWORK_ERROR の SquareCloudAPIError をスローします。

制限とエラー

  • 同時接続数は、全ユーザー合計でアカウントごとに 5、アプリごとに 30 です。超過すると 429 REALTIME_MAX_CONNECTIONS または REALTIME_MAX_CONNECTIONS_APP になります。
  • HTTP ステータスはストリーミングの前にチェックされるため、これらのエラー (および不明なアプリに対する 404) は最初の反復でスローされます。
  • タイムアウトは、レスポンスヘッダーが届くまでのオープン処理のみが対象です。ストリーム自体にタイムアウトはありません。

次のステップ

Snapshot

アプリとデータベースをバックアップして復元します。

リアルタイム API リファレンス

このストリームが呼び出す REST endpoint。

CLI でログを表示

同じストリームをターミナルで表示します。