You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用New-S3CJob创建S3批量复制任务时遇无效请求,求排查

解决S3批量复制任务「无效请求」错误的配置修正

你的New-S3CJob命令存在几处关键配置缺失和格式错误,这是导致「无效请求」的核心原因,以下是具体修正点和完整脚本:

1. 核心缺失:清单输入配置

S3批量任务必须指定要处理的对象清单来源,你仅配置了任务完成后输出清单的ManifestOutputLocation参数组,但完全没定义读取源对象清单的Manifest参数组——这是批量任务的必填项。

2. 报告参数格式错误

-Report_Bucket参数只需传入存储桶名称,不需要带ARN格式;同时还需补充报告的前缀、格式、启用状态等必要配置,否则会触发参数校验失败。

3. 其他优化点

  • 显式指定-Operation参数为S3PutObjectCopy,避免自动推断歧义
  • 目标键前缀TESTBK建议添加斜杠/,防止对象键拼接出现异常(比如TESTBKobjectkey而非预期的TESTBK/objectkey)

修正后的完整脚本

$accountId = (Get-STSCallerIdentity).Account
$iamRoleArn = "arn:aws:iam::${accountId}:role/S3BatchOperationRole-us-east-1"
$sourceBucket = "sourceBucket"
$destinationBucket = "destinationBucket"
# 源清单文件在源存储桶中的路径(示例:sourceBucket/manifest-input.csv)
$manifestInputPath = "manifest-input.csv"

# 创建S3批量复制任务
New-S3CJob -AccountId $accountId `
    -Operation 'S3PutObjectCopy' `
    -S3PutObjectCopy_StorageClass STANDARD `
    -S3PutObjectCopy_TargetKeyPrefix "TESTBK/" `
    -S3PutObjectCopy_TargetResource "arn:aws:s3:::$destinationBucket" `
    -RoleArn $iamRoleArn `
    -Priority 10 `
    # 配置源清单读取规则
    -Manifest_Spec_Format 'CSV' `
    -Manifest_Spec_Fields 'Bucket', 'Key' `
    -Manifest_Location_S3Bucket $sourceBucket `
    -Manifest_Location_S3Key $manifestInputPath `
    # 配置任务报告
    -Report_Bucket $sourceBucket `
    -Report_Prefix "batch-copy-report/" `
    -Report_Format 'CSV' `
    -Report_Enabled $true `
    -Report_IncludeSuccess $true `
    -Report_IncludeFailure $true `
    # 配置处理后清单输出(可选)
    -ManifestOutputLocation_Bucket $sourceBucket `
    -ManifestOutputLocation_ManifestPrefix "processed-manifest/" `
    -ConfirmationRequired $false

关键参数说明

  • Manifest参数组:
    • Manifest_Spec_Format:指定清单文件格式(通常为CSV)
    • Manifest_Spec_Fields:清单必须包含的字段,复制任务至少需要Bucket和Key
    • Manifest_Location_S3Bucket/Manifest_Location_S3Key:源清单文件所在的存储桶和具体路径
  • Report参数组:
    • 必须启用报告并指定格式、存储路径,同时明确是否包含成功/失败记录,这是批量任务的必填配置

额外注意事项

确保IAM角色S3BatchOperationRole-us-east-1拥有以下权限:

  • 读取源存储桶的清单文件和待复制对象
  • 写入复制后的对象到目标存储桶
  • 写入任务报告和处理后清单到指定存储桶

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 01:05:13