【问题标题】:Access Google Pub/Sub from App Engine standard environment?从 App Engine 标准环境访问 Google Pub/Sub?
【发布时间】:2017-09-22 20:05:15
【问题描述】:

我正在使用 python 标准环境,并希望将消息发布到 google pub/sub。然而,谷歌云库似乎没有包含在环境中,至少没有某种额外的配置。

from google.cloud import pubsub
ImportError: No module named cloud

这是在已部署的实例上运行的。 google 给出的使用 pub/sub 的示例是在灵活的环境中。

【问题讨论】:

  • 我考虑过这种方法。我担心的是大小(您必须将所有库复制到一个子目录中)以及某些东西可能无法正常工作,因为一切都必须是纯 python 并且需要一些猴子补丁才能使某些库在标准环境中正常工作.
  • 如果在标准环境中运行,他们建议使用“旧”客户端库 - source。我不确定他们指的是哪个图书馆。在最坏的情况下,我认为您必须编写一些自定义代码来调用他们的 REST API?

标签: python google-app-engine google-cloud-pubsub


【解决方案1】:

App Engine Standard 的 Python2.7 运行时不支持 Pub/Sub Cloud Client Library,仅支持 Pub/Sub Service API Client Library。 some new code samples 显示了如何做到这一点。

import googleapiclient.discovery
import base64

service = build('pubsub', 'v1')

topic_path = 'projects/{your_project_id}/topics/{your_topic}'

service.projects().topics().publish(
    topic=topic_path, body={
      "messages": [{
          "data": base64.b64encode(data)
      }]
    }).execute()

【讨论】:

猜你喜欢
  • 2021-10-03
  • 2016-09-26
  • 2018-03-12
  • 2018-07-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多