@flatfile/listener-driver-pubsub
本文件就如何使用 PubSubDriver 类,用于 @flatfile/listener 软件包.
导言
PubSubDriver 是一个 EventDriver 使用实时消息系统来收听事件。 它使用Flatfile API进行认证,必要时自动处理再认证.
司机需要一个 scope,它可以是环境,也可以是空间标识。 它还为Axios设置了截取器,有助于调试HTTP请求.
使用量
导入必要的依赖性 :
import { EventDriver } from '@flatfile/listener'
import { PubSubDriver } from './PubSubDriver'
创建新 PubSubDriver 实例,通过 scope 作为字符串( 环境标识或空间标识) :
const pubSubDriver = new PubSubDriver('your-environment-or-space-id')
启动驱动程序 :
pubSubDriver.mount(instanceOfListenerClient)
pubSubDriver.start()
请注意: start 方法是一个同步并返回一个承诺.
这个 PubSubDriver 实例将自动订阅相应的事件频道 scope,然后在事件进入时开始处理.
它还处理连接状态事件,记录成功连接和出错,并在必要时自动再校正.
日志
这个 PubSubDriver 使用该 Debugger 从 @flatfile/utils-debugger 以记录事件。 日志条目包括成功的连接,出错,以及事件处理信息.
例如,当驱动程序成功连接到事件流时,它会用范围记录一个成功的信息:
✅ Connected to event stream for scope your-environment-or-space-id
请参看 @flatfile/utils-debugger 组合文档,以获取更多关于伐木工作的信息.
Axios 拦截器
这个 axiosInterceptor 从 @flatfile/utils-debugger 当 PubSubDriver ,这可以帮助调试使用 Axios 的 HTTP 请求.
请参看 @flatfile/utils-debugger 软件包文档,以获取关于Axios拦截器如何工作的更多信息.
错误
如果 scope 初始化期间未提供 PubSubDriver,则出现错误:
Error: scope is required (must be an environment or space id)
请确保 scope 在创建新时提供 PubSubDriver 举个例子.