我正在接收来自发布/订阅订阅的消息。
下面是一条此类消息的有效负载(以原始字节为单位):
REQUEST_BODY b'{"message":{"attributes":{"one":"two"},"data":"InN0dWZmIg==","messageId":"5481363137518973","message_id":"5481363137518973","publishTime":"2022-08-24T16:39:11.08Z","publish_time":"2022-08-24T16:39:11.08Z"},"subscription":"projects/my-project/subscriptions/my-subscription-name"}\n'
注意,消息中有两个重复的值:
MessageId
vsmessage_id
PublishTime
vspublish_time
现在,我知道有些语言和风格更喜欢蛇与骆驼的情况,我并没有进入正确的......
但客观上应该只有一个用于通过电线传输,而不是发送两个!
我不在乎哪个被使用,但我确实在乎我被收取这个带宽的费用!!
为什么GCP要这么做,我能关掉它吗?
我相信这是为了向后兼容。我认为message_id之前已经介绍过,然后他们将其更改为 messageId。为了不破坏某人可能使用 message_id 编写的现有代码,他们将其保留在那里并添加了 messageId。同样的事情也适用于发布时间。
如果你不能关掉它。
对定价做了一些研究。如果我理解正确,如果您的订阅者与您的酒吧/订阅主题位于同一区域,则不向您收取离开酒吧/订阅的费用。
我不确定吞吐量成本。它是对整个邮件正文(包括Google添加的属性)收费,还是仅对(您发布的数据/属性)部分收费?我想,谷歌的人可以回答这个问题。
谢谢@KamalAboul-霍森。我还在谷歌的Pub/Sub定价页面上找到了这段摘录:
消息的数据量是以下消息属性的大小之和: