You need to enable JavaScript to run this app. 创建S3批处理操作清单文件时如何使用字符串通配符模式?
优惠活动
大模型
产品
解决方案
定价
更多

创建S3批处理操作清单文件时如何使用字符串通配符模式?

S3批处理操作加密存量对象的常见问题排查

核心规则误区:为什么通配符在批处理清单里不生效

  • S3批处理支持的所有输入清单格式(CSV、ORC、Parquet),原生不支持*这类字符串通配符匹配逻辑。每一条清单条目都必须是可定位到唯一真实对象的精确元数据(精确对象键、版本ID等),像*.log、sample_file_*.log这类带通配符的字符串,会被系统直接识别为字面意义的对象键,不会触发批量匹配规则。
  • 在清单里写入*.log这类条目后出现的403错误,本质是系统尝试访问桶内一个名为*.log的不存在的对象,对应的权限校验不通过,因此抛出AccessDenied报错,和KMS配置、批量操作本身的运行逻辑没有关系。

如何匹配固定命名模式的对象生成合规批处理清单

要匹配sample_file_*.log这类带规则命名的存量文件,不需要手动逐行枚举数万个对象,可通过两种方式生成符合格式要求的精确清单:

  • 调用S3清单导出功能:在目标桶上配置临时S3清单导出任务,添加过滤规则为「对象键前缀匹配sample_file_、后缀匹配.log」,设置单次导出周期,系统会自动枚举所有符合规则的对象,生成标准批处理可识别的CSV/Parquet格式清单文件,直接上传到S3作为批处理作业的输入即可。
  • 用CLI脚本生成清单:通过aws s3api list-objects-v2命令分页列举桶内对象,配合本地脚本的字符串匹配逻辑筛选符合命名规则的对象键,逐行拼接成批处理要求的两列CSV格式(第一列为源桶名,第二列为精确对象键),再将生成的CSV文件上传到S3作为作业输入。

403 AccessDenied报错的修复路径

当把清单里所有带通配符的条目替换为精确对象键列表后,若仍存在403报错,按以下优先级排查权限配置:

  • 检查批处理作业关联的IAM执行角色权限:
    • 确保角色具备源桶的s3:GetObject、s3:PutObject、s3:GetObjectAttributes权限,若桶内对象开启了版本控制,还需补充s3:GetObjectVersion、s3:ListBucket权限;
    • 确保角色具备指定KMS密钥的kms:Decrypt、kms:GenerateDataKey权限,支撑重新加密的API调用。
  • 检查源桶的存储桶策略配置:确认没有配置显式拒绝规则拦截S3批处理服务的访问请求,若桶启用了对象保留、服务控制策略等限制,需为批处理角色开放对应操作的豁免权限。

操作提示:使用批处理作业给存量对象应用KMS加密时,不需要在清单条目里关联历史版本ID,只要在作业的操作配置里选择「覆盖对象元数据,应用指定KMS加密密钥」,系统会自动遍历清单内所有对象的当前版本完成加密。


内容的提问来源于stack exchange,提问作者BharathKumarMurugan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.10 07:54:04