Cloud Storage 订阅

Cloud Storage 订阅是一种导出订阅 可将消息写入现有 Cloud Storage 存储桶, 。您无需配置单独的订阅者客户端。 使用 Google Cloud 控制台、Google Cloud CLI、客户端库或 Pub/Sub API 创建、更新、列出、分离或删除 Cloud Storage 订阅。

如果没有 Cloud Storage 订阅类型 您需要一个拉取或推送订阅和一个订阅者 (例如 Dataflow),它可以读取消息并将其写入 Cloud Storage 存储桶在 Google Cloud 中 如果消息不需要,则 Dataflow 作业不是必需的 在将其存储到 Cloud Storage 存储桶之前对其进行额外处理; 您可以改用 Cloud Storage 订阅

不过,我们仍建议使用 Dataflow 流水线 需要进行某些数据转换的 Pub/Sub 系统 然后再将数据存储在 Cloud Storage 存储桶中。

了解如何将数据从 Pub/Sub 流式传输到 使用 Dataflow 进行转换的 Cloud Storage; 请参阅使用 Dataflow 从 Pub/Sub 流式传输消息

准备工作

在阅读本文档之前,请确保您熟悉以下内容:

Cloud Storage 订阅工作流

下图显示了 Cloud Storage 存储分区 订阅和 Cloud Storage

Cloud Storage 订阅的消息流

图 1. Cloud Storage 订阅的工作流

以下是引用图 1 的工作流的简要说明:

  1. Pub/Sub 使用 Cloud Storage API 发送数据 写入 Cloud Storage 存储桶在成功完成 写入操作时,API 会返回 OK 响应。

  2. 这些消息将批量发送到 Cloud Storage 存储桶。 单个批次对应一个对象,该对象存储在 Cloud Storage 存储桶。您可以配置批处理设置,具体取决于 该对象的大小以及自对象创建以来经过的时间。

  3. 将对象写入 Cloud Storage 存储桶的工作流要求 两个 OK 响应。当消息被触发时,系统会发送第一条 OK 响应 成功写入对象。第二个 OK 响应会在 包含该消息的对象将最终确定。消息只会显示 存储桶中的所有其他对象,则其 Cloud Storage 对象 已成功完成

  4. 如果在写入操作期间出现任何失败情况, Pub/Sub 消息本身已得到否定确认。 然后,系统会重新发送该邮件。如果消息写入操作失败了足够次数,并且 您在订阅中配置了死信主题 该消息会移到死信主题。

Cloud Storage 订阅的属性

创建 Cloud Storage 订阅时,您必须指定 一些额外的属性这些属性包括通用订阅 属性、文件名和格式要求、存储要求等等。 如需详细了解这些属性,请参阅 Cloud Storage 订阅属性

Pub/Sub 服务账号权限

要创建 Cloud Storage 订阅, Pub/Sub 服务账号必须具有写入 特定 Cloud Storage 存储桶以及读取存储桶元数据。

如需了解详情,请参阅 为 Pub/Sub 服务账号分配 Cloud Storage 角色

处理消息失败问题

如果 Pub/Sub 消息无法写入到 Cloud Storage 存储桶,消息无法确认。 要转发此类无法递送的邮件,请配置 死信主题 Cloud Storage 订阅。

如果 Pub/Sub 无法将消息写入 Cloud Storage, 则 Pub/Sub 会以类似于 推送退避行为

配额

Cloud Storage 订阅者吞吐量配额限制 每个区域了解 Cloud Storage 配额 请参阅 Pub/Sub 配额和限制中的导出订阅者配额限制。

价格

有关 Cloud Storage 价格的信息 请参阅 Pub/Sub 价格页面

后续步骤