存储空间批量操作

本文档介绍了存储批量操作,这是 Cloud Storage 的一项功能,可让您以无服务器方式对数十亿个对象执行操作。借助存储批量操作,您可以自动对数十亿个对象执行大规模 API 操作,从而缩短为每个请求编写和维护脚本所需的开发时间。

如需了解如何创建存储批量操作作业,请参阅创建和管理存储批量操作作业

概览

存储批量操作可让您同时对多个对象运行以下四种转换之一:放置对象保留、删除对象、更新对象元数据和重写对象。如需使用存储批量操作,您需要创建作业配置,以定义应将哪些转换应用于哪些对象。

创建批处理操作会返回一个长时间运行的操作 (LRO),用于指示请求的状态:转换是否已应用于请求中的所有指定对象。

优势

  • 可伸缩性:通过单个存储批量操作作业对数百万个对象执行转换。
  • 无服务器执行:在无服务器环境中运行批处理作业,无需管理基础架构。
  • 自动化:自动执行复杂且重复的任务,提高运营效率。
  • 缩短开发时间:避免编写和维护复杂的自定义脚本。
  • 性能:在所需时间内完成时间敏感型操作。如果存储桶中同时运行多个批处理作业,您可以在 3 小时内处理最多 10 亿个对象。
  • 自动重试:针对失败的操作自动重试。
  • 作业监控:详细的进度跟踪,可监控所有作业的状态和完成情况。

使用场景

存储空间分析数据集搭配使用时,存储空间批量操作可让您完成以下任务:

  • 安全管理

    • 使用重写对象方法在多个对象上设置加密密钥。
    • 应用或移除对象保留,以控制对象的不变性。
  • 合规性

    • 使用对象保留功能来满足数据保留要求,以符合法规要求。
    • 删除特定时间范围内的数据,以满足数据清除合规性要求。
  • 数据转换:批量更新对象元数据。

  • 优化成本:批量删除 Cloud Storage 存储分区中的对象,以降低存储费用。

作业配置

如需创建存储批量操作作业,您需要设置以下作业配置。 作业配置是用于控制如何根据不同的处理需求定义作业的参数。

  • 作业名称:用于标识存储批量操作作业的唯一名称。此 ID 用于跟踪、监控和引用作业。作业名称为字母数字,例如 job-01

  • 作业说明(可选):作业用途的简要说明。这有助于了解和记录作业详情。例如,Deletes all objects in a bucket

  • 存储桶名称:包含要处理的对象的存储桶的名称。这对于定位输入数据至关重要。例如 my-bucket。您只能为作业指定一个存储桶名称。

  • 对象选择:用于定义要处理哪些对象的选择条件。您可以使用以下任一选项指定条件

    • 清单:创建清单,并在创建存储批量操作作业时指定其位置。清单是一个上传到 Google Cloud的 CSV 文件,其中包含您要处理的一个对象或对象列表。清单中的每一行都必须包含对象的 bucketname。您可以选择指定对象的 generation。如果您未指定 generation,则使用对象的当前版本。

      该文件必须包含一个标题行,格式如下:

      bucket,name,generation

      以下是清单示例:

      bucket,name,generation
      bucket_1,object_1,generation_1
      bucket_1,object_2,generation_2
      bucket_1,object_3,generation_3
      

      您还可以使用存储空间分析数据集创建清单。如需了解详情,请参阅使用存储空间分析数据集创建清单

    • 对象前缀:指定一个前缀列表,用于过滤存储桶中的对象。系统仅处理具有这些前缀的对象。如果为空,则处理存储桶中的所有对象。

  • 作业类型:存储批量操作支持以下作业类型,每个批量操作运行一个作业。

    • 对象删除:您可以删除存储桶中的对象。这对于优化费用、管理数据生命周期以及遵守数据删除政策至关重要。

    • 元数据更新:您可以修改对象元数据。这包括更新自定义元数据、存储类别和其他对象属性。

    • 对象保全更新:您可以启用或停用对象保全。对象保全可防止对象被删除或修改,这对于合规性和数据保留至关重要。

    • 对象加密密钥更新:您可以管理一个或多个对象的客户管理的加密密钥。这包括使用重写对象方法应用或更改加密密钥。

限制

存储批量操作存在以下限制:

  • 存储批量操作作业的最长使用期限为 14 天。任何在创建后 14 天内未完成的正在进行的作业都会自动取消。

  • 我们不建议在同一存储桶中同时运行超过 20 个批量操作作业。

  • Storage 批量操作与 VPC Service Controls 不兼容。

  • 以下存储分区不支持存储批量操作:

    • 已启用请求者付款的存储分区。

    • 位于 eur4us-west8 区域的存储分区。

后续步骤