api.apps.realtime(appId, { signal }) 打开一个包含应用日志、状态和系统事件的实时流。它是一个异步可迭代对象:使用 for await 来消费它。
示例使用创建客户端中的 api 客户端。appId 是你的某个应用的 ID:api.account.me() 会列出它们。
事件
每个事件都有event、data(原始帧文本)和 id。
status 对象
结束流
在以下情况下,循环会自行结束:- 服务器正常关闭连接(每个连接最长持续 10 分钟);
- 服务器发送
REALTIME_DISCONNECTED; - 你使用
break跳出循环; - 你调用
controller.abort()(循环直接结束,不会抛出异常)。
重新连接
连接断开,或服务器将重新连接交由客户端处理(REALTIME_RECONNECT)时,流会自行重新打开:
- 最多连续 3 次;任何
logs或status事件都会重置计数; - 每次重新打开距上一次打开至少 5.5 秒,以保持在 API 每个应用每 5 秒打开一次的速率之内。
NETWORK_ERROR 的 SquareCloudAPIError。
限制和错误
- 每个账户 5 个并发连接,每个应用 30 个(涵盖所有用户)。超出时返回 429
REALTIME_MAX_CONNECTIONS或REALTIME_MAX_CONNECTIONS_APP。 - HTTP 状态会在开始流式传输之前检查,因此这些错误(以及未知应用的 404)会在第一次迭代时抛出。
- 超时只覆盖打开阶段,直到响应头到达为止。流本身没有超时。
后续步骤
Snapshots
备份和恢复应用与数据库。
实时 API 参考
这个流背后的 REST 端点。
用 CLI 查看日志
在终端中查看同样的流。

