gpt4 book ai didi

google-cloud-platform - 在 Cloud PubSub 中发布非字符串消息

转载 作者:行者123 更新时间:2023-12-03 23:15:41 28 4
gpt4 key购买 nike

几乎所有可通过网络获得的发布/订阅示例都使用字符串消息。

如何将 Java Object、JSON 或 AVRO 等文本消息以外的消息发布到主题,然后通过订阅使用它。

非常感谢帕里

最佳答案

你不能直接这样做,正如你所看到的 herehere发布的消息必须是字节串。您可以做的是加载您的文件,将其编码为 utf-8然后发布它。之后,在拉取时,您可以将消息数据转储到文件中。例如,将 python 用于 json,您需要像这样发布:

publisher = pubsub_v1.PublisherClient()
topic_path = publisher.topic_path(project, topic_name)

with open(json_path) as f:
data = str(json.load(f))

data = data.encode('utf-8')
publisher.publish(topic_path, data=data)

然后你可以像这样拉和转储:
subscriber = pubsub_v1.SubscriberClient()
subscription_path = subscriber.subscription_path(
project, subscription_name)

def callback(message):
with open('received_message.json', 'w') as outfile:
json.dump(message.data, outfile)

subscriber.subscribe(subscription_path, callback=callback)

关于google-cloud-platform - 在 Cloud PubSub 中发布非字符串消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51149091/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com