Pub/Sub 的费用包含三个组成部分:
Pub/Sub 服务费用根据使用量(已发布、已传送或已存储的字节数)收取。
相比之下,Pub/Sub Lite 的吞吐量和存储费用则基于预留容量。
两种服务的数据传输费用均按用量计费,而非按预留容量计费。
本文档要求您了解 Pub/Sub 或 Pub/Sub Lite 的架构,以及每种产品中使用的常用术语。如需了解详情,请参阅 Pub/Sub 架构。
下表比较了北美地区示例负载的 Pub/Sub 和 Pub/Sub Lite 系统的月度费用。此示例假设消息存储期为 24 小时,Pub/Sub Lite 的资源利用率为 50%,Pub/Sub 的订阅类型为拉取或推送。其他类型的订阅可能需要额外付费。
发布吞吐量(MiBps) | 订阅数量 | 可用区级精简版主题(美元) | 区域级精简版主题 (USD) | Pub/Sub(美元) |
|---|---|---|---|---|
10 | 1 | $169 | $608 | $2,000 |
10 | 2 | $214 | $788 | $3000 |
100 | 1 | $1688 | $6,075 | $19760 |
100 | 2 | $2138 | $7,875 | $29640 |
比较 Pub/Sub 和 Pub/Sub Lite 的费用时,请考虑这两个产品在功能上的差异。如需了解详情,请参阅选择 Pub/Sub 或 Pub/Sub Lite。
吞吐量费用
吞吐量是指在一段时间内写入 Pub/Sub 主题(发布吞吐量)或从主题订阅读取(订阅吞吐量)的字节总数。
每个日历月,结算账号中前 10 GiB 的吞吐量(标识为消息传送基本 SKU)免费。之后,在所有 Google Cloud 区域的价格均为 每 TiB$40。不过,如果您使用的是导入主题或导出订阅,请阅读下一部分。
BigQuery 订阅的吞吐量费用
BigQuery 订阅的费用为 50 美元/TiB,适用于从订阅读取(订阅吞吐量)和写入 BigQuery 的所有 Google Cloud 区域。没有额外的 BigQuery 数据注入费用。不过,存储和数据提取等其他类型的 BigQuery 费用仍然适用。如需了解详情,请参阅 BigQuery 价格。BigQuery 订阅吞吐量的前 10 GiB 不免费。
Cloud Storage 订阅的吞吐量费用
Cloud Storage 订阅的费用为 50 美元/TiB,适用于从订阅中读取数据(订阅吞吐量)和向 Cloud Storage 写入数据的所有 Google Cloud 区域。当 Cloud Storage 订阅将文件写入存储分区时,可能会产生其他类型的额外费用。这些费用包括存储、检索和复制等费用。如需了解详情,请参阅 Cloud Storage 价格。Cloud Storage 订阅吞吐量的前 10 GiB 不免费。
导入主题的吞吐量费用
在所有 Google Cloud 区域中,将数据注入 Pub/Sub(发布吞吐量)的导入主题(适用于 Kinesis Data Streams)费用为 50 美元/TiB。
导入主题(适用于 Cloud Storage、Azure Event Hubs、AWS MSK 或 Confluent Cloud)的费用为 $80/TiB,适用于将数据注入 Pub/Sub(发布吞吐量)的所有 Google Cloud 区域。
当导入主题将数据注入 Pub/Sub 主题时,可能会产生其他特定于来源的额外费用。这些费用包括 Kinesis Data Streams 源的 AWS 出站流量费用、Cloud Storage 源的 Cloud Storage 操作费用等。导入主题吞吐量的前 10 GiB 不免费。
消息量计算
消息的数据量是以下消息属性大小的总和:
每个请求最低按 1 KB 计算,与请求中的消息大小无关。因此,对于小于 1 KB 的消息,在单个请求中对多条此类消息进行批处理的费用会更低。
存储费用
以下各项的存储费用为每月每 GiB $0.27:
保留单个订阅中已确认的消息为订阅所有者提供了最大的灵活性,但通常是最昂贵的存储机制。费用最低的存储机制是主题消息保留,因为针对主题保留的消息可以在附加到该主题的所有订阅上使用,而无需为每个订阅支付额外费用。如果未确认的消息已由主题保留,Pub/Sub 不会向订阅所有者收取保留这些消息的费用。快照也可以是一种经济的选择,因为单个快照可以用于多个订阅。
请注意,如果更改了主题的消息保留设置,未确认消息的费用也可能会发生变化。例如,如果主题所有者停用了消息保留功能,订阅所有者可能需要开始支付未确认消息的存储费用。
单条消息转换费用
UDF SMT 费用是指使用 Pub/Sub 主题 SMT 或 Pub/Sub 订阅 SMT 处理的数据总量。数据处理费用按输入和输出消息大小中的较大值计算。例如,如果 UDF SMT 将 5MB 的消息转换为 8MB 的消息,则数据处理费用将按 8MB 计算。
在所有 Google Cloud 区域的价格均为每 TiB $40。
数据传输费用
不同 Google Cloud 区域之间的互联网数据传输和消息传送费用与 VPC 网络费率一致,但有以下例外:
每次消息跨越区域边界时,您都需要支付数据传输费用。如果您在一个区域内的多个订阅者与消息存储位置不同,则您需要单独支付数据传输费用,以传送到每个订阅者。
由于消息存储政策而产生的数据传输费用
如果消息存储政策强制数据离开某 Google Cloud 区域,则可能会产生额外的区域数据传输费用。例如,假设某个消息具有以下事件:
在此示例中,结算场景如下:
仅当所发布消息的存储区域与发布区域不同(即 B 区域与 A 区域实际上是两个不同的区域)时,才会对包含主题的项目收取数据传输费用。仅当所发布消息的存储区域与订阅者客户端所在的区域不同时,才会对包含订阅的项目收取数据传输费用(C 与 B 不同)。
过滤的消息费用
Pub/Sub 会自动确认与过滤条件不匹配的消息,但您仍需要为这些消息支付吞吐量费用。过滤后的消息不收取数据传输费用。
Pub/Sub 服务自动确认的消息中至少有 1,000 字节不需要付费。消息传送费用以这些消息中的字节数为基础计算,与消息规模无关。
跨项目 Pub/Sub 结算
如果您在多个项目中使用 Pub/Sub,Pub/Sub 的费用会计入包含所请求资源的项目中:
例如,如果订阅位于项目 A 中,则项目 A 会被收取从订阅中拉取数据所产生的费用,即使该订阅关联的主题属于项目 B 也是如此。
如果项目 A 中的授权服务账号使用了项目 B 中某个订阅的消息,则会对项目 B 收取从订阅中拉取数据的相关费用。
✩注意:Pub/Sub Lite 已弃用。自 2026 年 3 月 18 日起,Pub/Sub Lite 将停用。
如果您在 2025 年 7 月 15 日之前的 90 天内(即 2025 年 4 月 15 日至 2025 年 7 月 15 日期间)未使用过 Pub/Sub Lite,则自 2025 年 7 月 15 日起,您将无法访问 Pub/Sub Lite。
您可以将 Pub/Sub Lite 服务迁移到 Google Cloud Managed Service for Apache Kafka 或 Pub/Sub。
以下价格详情仅适用于 Pub/Sub Lite,不适用于 Pub/Sub。除非另有说明,否则这些详细信息适用于可用区级精简版主题和区域级精简版主题。其中包括以下部分:
吞吐量费用
吞吐量是指在一段时间内写入 Pub/Sub Lite 主题(发布吞吐量)或从主题订阅中读取(订阅吞吐量)的字节总数。
Pub/Sub Lite 吞吐量费用基于预配或预留的吞吐量容量,而不是实际吞吐量(MiBps)或结算周期内的总字节数(每月 MiB)。吞吐量容量以容量单位的形式预配和定价。您可以使用精简版预留,为同一区域内的一个或多个主题预配吞吐量容量。
下表显示了 Pub/Sub Lite 系统的吞吐量和存储费用。
吞吐量 | 存储空间(每个可用区) |
|---|---|
| US$0.00625 / 1 mebibyte hour | US$0.000054795 / 1 gibibyte hour |
使用精简版预留的吞吐量
精简版预留是一种在一个区域中的一个或多个主题之间预留和共享吞吐量容量的方式。区域级 Pub/Sub 精简版主题必须有精简版预留。
Lite 预留的吞吐量容量以容量单位衡量。预留只能预配整数个容量单位。不同操作的吞吐量需要不同数量的容量单元,如下表所述:
所需的容量单位 | 可用区级精简版主题 | 区域级精简版主题 |
|---|---|---|
1 MiBps 的发布吞吐量 | 1 个容量单位 | 4 个容量单位 |
1 MiBps 的订阅吞吐量 | 0.5 个容量单位 | 2 个容量单位 |
☆如果您使用 Kafka 线协议发布消息,则每 1 MiBps 的发布吞吐量需要额外 1 个容量单位,每 1 MiBps 的订阅吞吐量需要额外 0.5 个容量单位。此吞吐量消耗是在主题吞吐量消耗的容量单位之外的消耗。
一个预留中所有精简版主题的分区数量不得大于预留的容量单位数量。
计算预留的单个主题的吞吐量容量费用
以下部分将帮助您计算使用预留的单个可用区精简版主题的吞吐量容量费用:
对于具有 5 个分区的区域级精简版主题,如果需要相同的吞吐量,则需要预留 40 个容量单元,其中 20 个用于发布吞吐量,20 个用于订阅吞吐量。
您可以随时更改预留中的容量单元数。不过,您需要按过去 24 小时内预配的最大容量付费。例如,如果您在星期一上午 10:00 将预留的容量从 40 个容量单元更改为 10 个容量单元,则在星期二上午 10:00 之前,您需要每小时支付 40 个容量单元的费用,之后则需要每小时支付 10 个容量单元的费用。
请注意,预留的容量可用于与预留位于同一区域的任何主题的发布和订阅吞吐量。如需详细了解预留,请参阅创建和管理精简版预留。
没有精简版预留的吞吐量
本部分仅适用于可用区级 Lite 主题。
您可以选择不使用预留,而是为单个主题预留发布和订阅吞吐量容量。在这种情况下,您需要为当前预留的容量付费,而不必为正常运行的 24 小时期间内的最高容量付费。
请注意,无预留的配置容量必须介于以下限值之间:
计算没有预留的单个主题的吞吐量容量费用
以下部分可帮助您计算不使用预留的单个可用区精简版主题的吞吐量容量费用:
✩注意:通常,我们建议使用分配的总吞吐量容量的 40% 到 60%。
存储费用
与精简版吞吐量一样,您需要为主题的存储容量付费。Pub/Sub Lite 按您在一个月内预配的最大存储量收费。每个分区必须至少有 30 GiB 的存储空间容量。
区域级精简版主题将数据存储在一个区域的两个可用区中,而可用区级精简版主题仅将数据存储在一个区域的一个可用区中。区域级精简版主题每发布 1 字节的消息,就会使用 2 字节的存储空间。因此,发布到区域级精简版主题的每个字节的存储费用是可用区级精简版主题的两倍。
如需估算 Pub/Sub Lite 系统的存储容量,请参考以下列表:
如需估算所需的总存储空间,请将每个分区的平均预期吞吐量乘以存储消息所需的时间长度。例如,若要以每秒 40 MiB 的速度在可用区 Lite 主题的 10 个分区中发布消息,并将消息保留一天,请预配 3375 GiB 的存储空间(相当于 40 MiBps * 3600 秒/小时 * 24 小时/天 * 1 GiB/1024 MiB)。在北美,存储费用为 $135(相当于 3375 GiB * 每天 24 小时 * 每月 30 天 * $0.04 / GiB-月-可用区)。对于区域级精简版主题,由于数据存储在两个可用区中,因此存储费用翻倍,为 $270。
所有分区都分配有相同的存储容量。如果您预计某些分区的容量会大于其他分区,请为所有分区预配最大的分区所需的存储空间。
消息量计算
在计算吞吐量和存储空间的消息大小时,每条消息至少使用 256 字节。如果消息超过 256 字节,则消息的大小为以下消息属性之和:
数据传输费用
仅当订阅者与主题位于不同的可用区或区域时,才会产生 Pub/Sub Lite 数据传输费用。互联网出站数据传输和 Google Cloud 区域之间的消息传送费用与 VPC 网络费率一致,但有以下例外:
如果您使用非美元货币付费,请参阅 Google Cloud SKU 上以您的币种列出的价格。其中列出的是每 TiB(2^40 字节,约为 1.1 万亿字节)数据的价格。