gpt4 book ai didi

amazon-web-services - 无法创建变更集:转换 AWS::Serverless-2016-10-31 失败并显示:无效的无服务器应用程序规范文档

转载 作者:行者123 更新时间:2023-12-03 07:33:18 26 4
gpt4 key购买 nike

我正在尝试将 cloudformation 堆栈部署到跨帐户帐户中。但是,当我部署 cloudfromation.yml 文件时,出现以下错误。我什至尝试过使用 cloudformation.yaml 但同样的错误。

但是,当我尝试创建 S3 存储桶时,该存储桶的创建没有任何问题。仅在进行 lambda 部署时才会出现此问题

Waiting for changeset to be created..

Failed to create the changeset: Waiter ChangeSetCreateComplete failed: Waiter encountered a terminal failure state:
For expression "Status" we matched expected path: "FAILED" Status: FAILED. Reason: Transform AWS::Serverless-2016-10-31 failed with: Invalid Serverless Application Specification document. Number of errors found: 1. Resource with id [helloworldpython3] is invalid. 'CodeUri' is not a valid S3 Uri of the form 's3://bucket/key' with optional versionId query parameter.

这是我得到的 cloudformation.yml 文件,它正在部署一个简单的 lambda 函数。我什至尝试过使用 cloudformation.yaml 但出现相同的错误

AWSTemplateFormatVersion: "2010-09-09"
Transform: "AWS::Serverless-2016-10-31"
Description: A starter AWS Lambda function.

Resources:
helloworldpython3:
Type: "AWS::Serverless::Function"
Properties:
Handler: lambda_function.lambda_handler
Runtime: python3.6
CodeUri: ./lambda
Description: 'Lambda function for CD Demo'
MemorySize: 128
Timeout: 30

这是我已设置的 buildspec.yml 文件

version: 0.2

phases:
install:
commands:
- echo $CROSS_ACCOUNT_ROLE
- echo $TARGET_ACCOUNT_ID
- cd $CODEBUILD_SRC_DIR
- chmod +x cross-account-setup.sh
build:
commands:
- echo "Start Deploy"
- cd $CODEBUILD_SRC_DIR
- . ./cross-account-setup.sh
- >
aws cloudformation deploy --stack-name amr-manual-deployment-cicd --template-file cloudformation-stack.yml --no-fail-on-empty-changeset
- echo "End Deploy"

我需要在 .yml 文件中进行哪些更改才能成功部署云形成堆栈。

谢谢

最佳答案

AWS::Serverless::Function 语法需要 s3 Uri。所以 CodeUri 应该类似于 's3://testBucket/mySourceCode.zip'。在您的代码构建中,您必须添加一个步骤来将源代码压缩并上传到 s3 存储桶,然后再运行 cloudformation deploy 命令。请参阅this有关打包 python 应用程序的步骤。如果您想避免这种开销,您可以将您的应用程序转换为 SAM 并添加 SAM CLI在您的代码构建环境中进行部署。

关于amazon-web-services - 无法创建变更集:转换 AWS::Serverless-2016-10-31 失败并显示:无效的无服务器应用程序规范文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74432275/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com