使用城市飞艇连接的python包
uaconnect的Python项目详细描述
关于
uaconnect是一个python库,用于将Urban Airship Connectapi用于流媒体移动 事件数据到应用程序。
运行测试
要运行测试,请运行:
$ python -m unittest discover
用法
见Connect Getting Started Guide,如 以及Connect API了解更多 细节。
基本用法
若要使用库,请使用应用程序密钥实例化Consumer对象, 访问令牌和偏移记录器。你可以打开连接,然后 开始阅读事件。
>>> import uaconnect >>> consumer = uaconnect.Consumer( ... 'application_key', 'access_token', ... uaconnect.FileRecorder('.offset')) >>> consumer.connect() >>> for event in consumer.read(): ... if event is None: ... continue >>> print("Got event: {}".format(event)) >>> consumer.ack(event)
偏移记录器
偏移量记录器从抽象基类uaconnect.Recorder继承, 实现read_offset和write_offset方法。包括一台录音机 在库中,FileRecorder,它将offest存储在磁盘上。在 uaconnect.ext.redisrecorder包有一个 使用redis实例存储偏移量。
ack应根据在故障情况下 应用程序希望可能重播已处理的事件,或冒删除事件的风险。 对于后者,在读取事件后立即调用ack;对于前者,调用 ack仅在事件完全处理之后。
连接时的高级选项
城市飞艇连接支持多种options when connecting以确保 你只是在消耗你想要的数据。uaconnect很容易 使用这些连接参数和筛选器。
指定偏移量
城市飞艇连接的优点之一是你可以从 连接流中的特定位置。这是通过指定^{tt12}来完成的。$ 这与事件有关。当uaconnect自动跟踪时 使用uaconnect.FileRecorder为您设置偏移量,还可以显式设置 抵消。
>>> import uaconnect >>> recorder = uaconnect.FileRecorder(".offset") # or wherever you would like the file to exist >>> recorder.write_offset("8865499359") # a randomly chosen offset >>> recorder.read_offset() '8865499359'
这里的另一种方法是将偏移量显式写入文件,或者 无论使用什么Recorder子类来跟踪偏移量。
$ cat .offset 886549935
现在,下次连接时,它将从最后一个偏移量中拾取。
使用过滤器
过滤器是一种强大的过滤方式,可以过滤您想要的特定信息 从连接流中查看。可以按事件类型、设备类型、延迟进行筛选 在事件上,甚至在特定设备或通知上。
有关筛选器及其说明的完整列表,请查看the documentation。
下面是一个简单的例子,说明如何使用带有uaconnect:
的过滤器>>> import uaconnect >>> consumer = uaconnect.Consumer( ... 'application_key', 'access_token', ... uaconnect.FileRecorder('.offset')) >>> f = uaconnect.Filter() >>> f.types("PUSH_BODY", "SEND") # only receive PUSH_BODY and SEND events. >>> consumer.add_filter(f) >>> consumer.connect()