【问题标题】:Pubsub API Explorer : Incorrect message data returnedPubsub API Explorer:返回的消息数据不正确
【发布时间】:2019-01-29 11:46:27
【问题描述】:

我正在学习 PubSub API。我向主题发布了几条消息,当我使用API Explorer 进行订阅者拉动时

Method: projects.subscriptions.pull 数据似乎与我实际发布的不符:

  • 我发布的内容:"Message number 13

  • API Explorer 返回的是:NTlkMjdhYzQtZTUyZi00M2Q3LTk0ZTItNTZhNTM1ZGRlODNk

(附上截图)

奇怪的是,当使用实际的 API(Python 客户端库)进行 subs pull 时,一切都很好:

subscriber = pubsub_v1.SubscriberClient()
subscription_path = subscriber.subscription_path(PROJECT_ID, SUBSCRIPTION)
messages = subscriber.pull(subscription_path, max_messages=10, timeout=10, return_immediately=True)
print(messages.received_messages[0])

ack_id: "QV5AEkw2AERJUytDCypYEU4EISE-MD5FU0RQBhYsXUZIUTcZCGhRDk9eIz81IChFEAtTE1FcdhNaEGszXHUHUQ0YdHhncGgOQFMAEFl-VVsJPGh-Y3QAVwUfen5pdWJTGgQARHv7z4Dzvb5LZhp9XBJLLD"

消息

{ 数据:“消息编号 13”

message_id:“176868380899521”

发布时间 {

秒:1535000824

纳米:625000000
}

}

【问题讨论】:

  • 返回的数据将是base64 encoded。因此,当您decode the data(这是由客户端库自动完成的)时,它应该与发布的消息相匹配。你可以试试这个并确认问题是否仍然存在?
  • 谢谢!成功了!

标签: python-3.x google-cloud-pubsub


【解决方案1】:

Pubsub 返回您的数据base64 encoded。必须decode this 才能以原始形式检索已发布的消息。

【讨论】:

    猜你喜欢
    • 2020-08-08
    • 2018-01-01
    • 2018-10-27
    • 1970-01-01
    • 2019-07-02
    • 2022-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多