在AWS CodePipeline中,我使用CodeDeploy和AWS Lambda遇到了问题。我的设置如下:
- 源:GitHub
- AWS CodeBuild
- AWS CodeDeploy
问题
步骤1和2没有任何问题,但在涉及到CodeDeploy时,我会遇到以下错误:
操作执行失败,BundleType必须是YAML或JSON。
如果我解压由CodeBuild生成的Artifact文件,所有文件都在正确的位置。
如果我尝试从CodeDeploy手动部署到AWS Lambda,则会得到不同的消息...
部署失败,因为目标Lambda函数FUNCTION_NAME不存在,或找不到指定的函数版本或别名。
这非常令人困惑,因为我不确定哪个错误消息是有效的,或者它们是否相同但具有不同的错误消息。
设置
函数的ARN为:
arn:aws:lambda:us-east-1:239748505547:function:email_submition
别名的 ARN 是:
arn:aws:lambda:us-east-1:239748505547:function:email_submition:default
我的 appspec.yml
文件包含以下内容
version: 0.0
Resources:
- email_submition:
Type: AWS::Lambda::Function
Properties:
Name: "email_submition"
Alias: "default"
CurrentVersion: "1"
TargetVersion: "2"
项目的文件夹结构如下:
.gitignore
appspec.yml
buildspec.yml
index.js
README.md
问题
在这个配置中,我缺少了什么?
arn:aws:lambda:us-east-1:239748505547:function:email_submition:default
- David Gatti