排查 Cloud Storage 订阅问题

本页面提供了一些有关 Cloud Storage 订阅的常见问题排查提示。

检查 Cloud Storage 存储空间订阅的状态

如需检查订阅的状态,请按以下步骤操作:

  1. 在 Google Cloud 控制台中,前往 Pub/Sub 订阅页面。

    前往订阅页面

  2. 检查 Cloud Storage 订阅的状态 图标。

    • 如果该图标是绿色对勾标记,则表示订阅运行正常。

    • 如果该图标是红色感叹号,则表示订阅处于错误状态。

  3. 点击 Cloud Storage 存储空间订阅。

    系统会打开订阅详情页面。

  4. 检查订阅状态 以查看错误消息。

  5. 根据错误消息,前往本页面中的相关部分,排查问题。

解决问题后,订阅最终会恢复到正常状态。

无法创建或更新订阅

如果您在创建或更新 Cloud Storage 存储空间订阅时遇到问题,可能会遇到以下一些常见问题。

找不到存储分区错误

如果您在创建或更新订阅工作流中指定的存储桶不存在,则该工作流会返回 bucket not found 错误。 在 Google Cloud 控制台中,该消息类似于以下内容:

The Cloud Storage bucket specified cannot be found.

如需解决此问题,请创建存储桶 或通过更新 Cloud Storage 存储空间订阅来使用现有存储桶。

服务账号错误

如果您未为 Pub/Sub 服务帐号配置正确的权限,则创建或更新订阅工作流会返回错误。 在 Google Cloud 控制台中,该消息类似于以下内容:

Cloud Pub/Sub did not have the necessary permissions configured to access
the provided bucket my-bucket (or the bucket may not exist).
Please verify that the service account
service-112233445566@gcp-sa-pubsub.iam.gserviceaccount.com
was granted the Storage Legacy Bucket Reader and Storage Object Creator
roles for the provided bucket.

如需解决此问题,请检查服务帐号是否具有 正确的权限

订阅状态显示红色感叹号

如果您在创建订阅后修改存储桶,可能会影响 Pub/Sub 将消息写入存储桶的方式。如果更改导致出现 问题,则订阅的状态字段会 设置为错误状态

在订阅详情页面中,检查 Subscription state 字段的状态。 Subscription state 字段会提供更具体的错误,可能是以下错误之一:

  • 找不到存储桶:存储桶已被删除。 请重新创建存储桶,或更新 订阅以使用现有存储桶。

  • 存储桶权限被拒绝:Pub/Sub 服务帐号不 再具有写入存储桶的权限。请检查服务帐号是否具有 正确的权限

当 Pub/Sub 订阅处于错误状态时,消息不会写入存储桶,而是保留在订阅积压消息中。请注意,如果配置了附加的 死信主题, 则消息不会递送到该主题。未确认的消息会保留 在 message_retention_duration 中设置的时间段内(默认值为 7 天)。

订阅处理消息的速度非常慢

某些订阅设置可能会减慢消息处理速度。

例如,在 Cloud Storage 订阅中启用消息排序可能会导致消息写入 Cloud Storage 但未最终确定,从而延迟具有相同排序键的后续消息。 为了获得更好的性能,请考虑在发布消息时使用更广泛的排序键,或者在您的使用场景不需要消息排序时停用消息排序。

为 Cloud Storage 订阅设置过低的最大文件大小也会对性能产生负面影响。如果最大文件大小过低,可能会导致 Pub/Sub 创建许多 Cloud Storage 对象,而每个对象中只有少量消息。创建和最终确定对象的额外开销会减慢消息处理速度。 为了获得更好的性能,请考虑增加 Cloud Storage 存储空间订阅的最大文件大小设置,或移除文件大小限制。

配额限制

另一种可能是,您的项目已达到 Pub/Sub 推送 吞吐量配额 (pubsub.googleapis.com/regionalpushsubscriber)。 如需检查是否遇到配额限制,请检查推送请求 指标 (subscription/push_request_count) 中是否存在任何 resource_exhausted 错误。

查看项目的配额,并验证您是否有足够的剩余配额。在包含 Pub/Sub 订阅的项目中,依次前往 IAM 和管理 > 配额 。搜索 pubsub.googleapis.com/regionalpushsubscriber 配额。如果您即将达到 配额上限,可以 申请配额调整

订阅创建的文件超出预期

为了提高可伸缩性,您的 Cloud Storage 存储空间订阅可能会由多个 Pub/Sub 后端处理。每个后端都会写入单独的 Cloud Storage 文件,因此您可能会发现 Cloud Storage 创建的文件超出预期,尤其是在低吞吐量工作负载的情况下。

这是正常现象。如果您想减少订阅创建的文件数量,可以考虑增加订阅中的文件批处理设置,以允许更大的文件。您还可以通过 将文件组合成数量较少但体积较大的文件来对文件进行后处理。

后续步骤

  • 如果您仍然遇到 Cloud Storage 订阅问题,请参阅获取支持