根据这里:https://cloud.google.com/pubsub/docs/reference/rest/v1/PubsubMessage
发布者向队列发送消息时,不应填充时间戳字段。因此,这使我认为PubSub会在收到发布者的消息时自动附加时间戳。
这是对的吗?
答案 0 :(得分:2)
是的,你说得对。这是以下句子暗示的内容(来自您链接的docs):
publishTime:邮件发布的时间,填充方式 服务器在收到topics.publish调用时。
您可以自己测试一下:如果您转到Explorer的API并使用pubsub.projects.topics.publish方法发布到主题,而不提供publishTime,然后使用同一主题的订阅({{3} }),被拉的消息将有一个publishTime。
现在,关于publishTime的文档中还有一句话对我来说似乎有点不清楚:
发布商不得在topic.publish调用中填充它。
如果您实际尝试在发布调用中添加(格式正确的)publishTime,则不会出现错误。仍然,附加到您稍后提取的消息的实际publishTime是由pub / sub服务提供的消息(即,您给出的发布时间将被忽略)。
答案 1 :(得分:0)
它们确实使用publishTime生成。但是,在有多个发布者发布到Pub-Sub的情况下,可以将时间戳记附加到发布者中的每个事件。 https://cloud.google.com/pubsub/docs/ordering
(如果您对答案满意,请投票)