从 App Engine 标准环境访问 Google Pub/Sub?

Jam*_*son 3 python google-app-engine google-cloud-pubsub

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

from google.cloud import pubsub
ImportError: No module named cloud
Run Code Online (Sandbox Code Playgroud)

这是在已部署的实例上运行。谷歌给出的使用发布/订阅的例子是在灵活的环境中。

小智 5

App Engine Standard 的 Python2.7 运行时不支持 Pub/Sub Cloud 客户端库,仅支持 Pub/Sub 服务 API 客户端库。有一些新的代码示例展示了如何做到这一点。

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()
Run Code Online (Sandbox Code Playgroud)