本文档介绍了存储批量操作,这是 Cloud Storage 的一项功能,可让您以无服务器方式对数十亿个对象执行操作。借助存储批量操作,您可以自动对数十亿个对象执行大规模 API 操作,从而缩短为每个请求编写和维护脚本所需的开发时间。
如需了解如何创建存储批量操作作业,请参阅创建和管理存储批量操作作业。
概览
存储批量操作可让您同时对多个对象运行以下四种转换之一:放置对象保留、删除对象、更新对象元数据和重写对象。如需使用存储批量操作,您需要创建作业配置,以定义应将哪些转换应用于哪些对象。
创建批处理操作会返回一个长时间运行的操作 (LRO),用于指示请求的状态:转换是否已应用于请求中的所有指定对象。
优势
- 可伸缩性:通过单个存储批量操作作业对数百万个对象执行转换。
- 无服务器执行:在无服务器环境中运行批处理作业,无需管理基础架构。
- 自动化:自动执行复杂且重复的任务,提高运营效率。
- 缩短开发时间:避免编写和维护复杂的自定义脚本。
- 性能:在所需时间内完成时间敏感型操作。如果存储桶中同时运行多个批处理作业,您可以在 3 小时内处理最多 10 亿个对象。
- 自动重试:针对失败的操作自动重试。
- 作业监控:详细的进度跟踪,可监控所有作业的状态和完成情况。
使用场景
与存储空间分析数据集搭配使用时,存储空间批量操作可让您完成以下任务:
安全管理:
- 使用重写对象方法在多个对象上设置加密密钥。
- 应用或移除对象保留,以控制对象的不变性。
合规性:
- 使用对象保留功能来满足数据保留要求,以符合法规要求。
- 删除特定时间范围内的数据,以满足数据清除合规性要求。
数据转换:批量更新对象元数据。
优化成本:批量删除 Cloud Storage 存储分区中的对象,以降低存储费用。
作业配置
如需创建存储批量操作作业,您需要设置以下作业配置。 作业配置是用于控制如何根据不同的处理需求定义作业的参数。
作业名称:用于标识存储批量操作作业的唯一名称。此 ID 用于跟踪、监控和引用作业。作业名称为字母数字,例如
job-01
。作业说明(可选):作业用途的简要说明。这有助于了解和记录作业详情。例如,
Deletes all objects in a bucket
。存储桶名称:包含要处理的对象的存储桶的名称。这对于定位输入数据至关重要。例如
my-bucket
。您只能为作业指定一个存储桶名称。对象选择:用于定义要处理哪些对象的选择条件。您可以使用以下任一选项指定条件:
清单:创建清单,并在创建存储批量操作作业时指定其位置。清单是一个上传到 Google Cloud的 CSV 文件,其中包含您要处理的一个对象或对象列表。清单中的每一行都必须包含对象的
bucket
和name
。您可以选择指定对象的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 不兼容。
以下存储分区不支持存储批量操作:
已启用请求者付款的存储分区。
位于
eur4
或us-west8
区域的存储分区。