它提供了一个常驻进程,该进程定期在cli和python上拉取订阅并发布。
pubsub-controller的Python项目详细描述
说明
定期获取GCP Pub/Sub的订阅,如果有 消息执行由消息中的键指定的脚本。
GCP公开/公开订阅 内容提要
安装并尝试此示例。
- 在GCP上创建发布/子主题和订阅。(例如:测试主题/测试子项)
- pip install pubsub_controller
- pubsubcontroller init并输入pub/sub设置。(例如:gcp_project_id=您的项目id/订阅id=测试子项)
- pubsubcontroller subscribe
- 订户将立即启动。
- 打开另一个终端窗口。
- pubsubcontroller publish test-topictest-message'{"target":"exec_sample","text":"test_text"}'
- 在订户窗口中,您将看到您刚刚发布的消息的内容!
安装并尝试此示例。
在“exec_classes”目录下创建一个新的python文件。
- The same Python filename as the name specified by the attribute “target” key of the message to be published is executed.
实现def main (message_data, message_attr),并描述在接收到消息后要执行的操作。
- “message_data” contains the contents of the received message.
- “message_attr” contains optional attributes of the received message.
详细信息
设置pubsub_controller/settings.py所需参数为 放在这里。(它由pubsubcontroller init命令自动设置)
- GCP项目ID您的GCP项目D
- 订阅ID输入要使用的订阅ID。如果 订阅名为projects/hoge-project/subscriptions/fuga, 请输入fuga。
- interval second输入获取订阅的间隔 几秒钟。
订户如果您需要新订户,请参阅 apps/subscriber/pull/exec_classes/exec_sample.py并创建它。
pull subscriber这是一个请求订阅的常驻进程。
- 作为参考,我正在创建一个管理器配置文件。 apps/subscriber/pull/config/pull_subscriber.ini
publisher从cli或python脚本执行并发布 主题信息。
命令行上的exec
- pubsubcontroller publish test test-message'{"target":"exec_sample","text":"test_text"}'
- 参数
- arg1 = topic name
- arg2 = message data
- arg3 = message attribute(json format)
pythoncode上的exec
fromapps.publisher.publish_messageimportpublishpublish('test-topic','test_data',{'target':'exec_sample','text':'test_text'})