它提供了一个常驻进程,该进程定期在cli和python上拉取订阅并发布。

pubsub-controller的Python项目详细描述


说明

定期获取GCP Pub/Sub的订阅,如果有 消息执行由消息中的键指定的脚本。

GCP公开/公开订阅 内容提要

安装并尝试此示例。

  1. 在GCP上创建发布/子主题和订阅。(例如:测试主题/测试子项)
  2. pip install pubsub_controller
  3. pubsubcontroller init并输入pub/sub设置。(例如:gcp_project_id=您的项目id/订阅id=测试子项)
  4. pubsubcontroller subscribe
  5. 订户将立即启动。
  6. 打开另一个终端窗口。
  7. pubsubcontroller publish test-topictest-message'{"target":"exec_sample","text":"test_text"}'
  8. 在订户窗口中,您将看到您刚刚发布的消息的内容!

安装并尝试此示例。

  1. 在“exec_classes”目录下创建一个新的python文件。

    • The same Python filename as the name specified by the attribute “target” key of the message to be published is executed.
  2. 实现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'})

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java我想访问同一类的不同函数中的函数变量   创建字段/值哈希映射的java反射   java Velocity工具向后兼容性?   cmd JAVA运行时错误:发生JNI错误   java spring引导示例hateoas不工作   java为什么Android Studio和gradle可以使用不同的类路径进行单元测试?   java Selenium Firefox驱动程序初始化   java如何在jar中重新定位gradle依赖项的包   java为什么我的单线程hello world应用程序使用22个OS线程?   正则表达式替换Java字符串中的特殊字符   在任何派生类的构造函数之后运行方法的java   java从输入字符串中找出日期   带有libGdx(Java)音乐的安卓studio可以在Android模拟器上工作,但不能在桌面上工作   java我在getconnection的参数方面有错误吗?   java使用JFileChooser访问选定文件   java如何将Json解析为另一个活动   java使用Resources for html和rest server   java更新列表,列表内容来自循环中的方法   java如何在GLSL中读取完整范围的32位整数纹理