CDK 部署步骤失败“GetObject 时发生错误。S3 错误代码:NoSuchKey

问题描述 投票:0回答:1

我正在尝试使用 codepipline 部署一些代码,但出现以下错误。我的CDK代码非常简单并且没有使用lambda函数。但是,这可能是某些默认设置的结果。

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: 3160ff16-1e4a-4a38-b609-34820a1d9a8f)"
(RequestToken: a8b5eecf-8c1d-d90f-e18f-390a05734944, HandlerErrorCode: InvalidRequest)

aws-cdk Github 页面中也报告了该错误,但问题已关闭,但没有得出全面的结论:https://github.com/aws/aws-cdk/issues/22198

其他信息:我还尝试通过“cdk部署”进行部署,它将资产复制到S3存储桶,但它不能解决此问题。

任何人都可以分享解决此问题的任何提示吗?

我的

aws-cdk-lib
版本是
2.40.0

amazon-web-services aws-cdk aws-code-deploy
1个回答
0
投票

正如gshpychka所暗示的,过时的CodePipeline可能会导致这种情况。

CDK 将您的代码(“资产”)上传到 S3 存储桶 cdk-hnb659fds-assets-ACCOUNT-REGION。资产的名称是“HASH.zip”(称为S3Key)。

如果某些原因导致哈希发生更改,CDK 创建的管道的 FileAssetXX 操作将使用旧哈希,除非您重新部署管道的堆栈。

您正在部署的堆栈将从最新的源代码构建并获取新的哈希值,然后它将无法找到该哈希值。

© www.soinside.com 2019 - 2024. All rights reserved.