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

部署CloudFormation模板遇S3 NoSuchKey错误求助

问题排查:CloudFormation部署Lambda时S3 NoSuchKey错误

错误信息

Resource handler returned message: "Error occurred while GetObject. S3 Error Code: NoSuchKey. S3 Error Message: The specified key does not exist. (Service: Lambda, Status Code: 400, Request ID:)" (RequestToken:, HandlerErrorCode: InvalidRequest)

核心问题

Lambda资源无法在指定S3桶中找到配置的guardduty_to_acl_lambda_wafv2.zip代码包,以下是针对性排查步骤:

1. 核对S3对象路径与CloudFormation配置

  • 确认ArtifactsBucket参数指向的桶与你提供的截图中S3桶完全一致(S3桶名大小写敏感,不能有拼写错误)
  • 检查ArtifactsPrefix参数值:
    • 如果前缀格式为xxx/,拼接后的S3Key应为xxx/guardduty_to_acl_lambda_wafv2.zip,需确认该路径下确实存在目标zip包
    • 如果前缀未加末尾斜杠(如xxx),会导致拼接后路径变成xxxguardduty_to_acl_lambda_wafv2.zip,这种情况需修正前缀格式,或在YAML中手动添加斜杠:
      S3Key: !Sub ${ArtifactsPrefix}/guardduty_to_acl_lambda_wafv2.zip
      
  • 直接在S3控制台复制目标zip包的对象键,与CloudFormation中S3Key拼接结果完全比对,确保无路径、大小写、后缀错误

2. 验证CloudFormation参数传递

部署栈时,确认ArtifactsBucket和ArtifactsPrefix参数的输入值正确,没有遗漏或多余字符,比如前缀是否误填成了桶名的一部分。

3. 检查权限配置

  • 确认CloudFormation执行角色(或Lambda服务角色)拥有s3:GetObject权限,能访问目标S3桶及对应对象
  • 检查S3桶策略/对象ACL,确保上述角色被授权读取该zip包

4. 核对YAML配置细节

你的Lambda资源配置中,S3Key的拼接逻辑是关键:

Code:
  S3Bucket: !Sub ${ArtifactsBucket}
  S3Key: !Sub ${ArtifactsPrefix}guardduty_to_acl_lambda_wafv2.zip
  • 确保ArtifactsPrefix变量已正确定义并传递到栈中,若前缀为空,需确认zip包直接存放在S3桶根目录下

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 18:13:26