我想使用 CloudFormation 模板部署和更新我的 lambda 函式代碼。
我的部署作業流程是:
- 將我的 lambda 函式代碼壓縮到一個名為的 zip 檔案中
Lambda - 啟用 s3 存盤桶的 s3 版本控制
LambdaS3 - 將 zip 檔案上傳到名為的 s3 存盤桶中
LambdaS3 - 將
CFtemplate如下的 CloudFormation模板上傳到 s3bucketLambdaS3 - 通過輸入“LambdaS3”作為引數
LambdaS3,“Lambda”作為引數Lambdafilename和zip檔案的版本作為引數來創建CloudFormation堆疊LambdafileVersion
我的 lambda 代碼更新作業流程是:
- 將我更新的 lambda 函式代碼壓縮到一個名為的 zip 檔案中
Lambda - 將更新的 zip 檔案上傳到名為的 s3 存盤桶中
LambdaS3 - 通過輸入 zip 檔案的更新版本作為引數來更新 CloudFormation 堆疊
LambdafileVersion
- 我所期望的:部署和更新將成功
- 實際結果:從 AWS 獲取訊息“創建此更改集時出錯。提交的資訊不包含更改。提交不同的資訊以創建更改集。” 在更新堆疊期間,同時部署成功。
我的模板如下
AWSTemplateFormatVersion: "2010-09-09"
Metadata: ""
Description: ""
Parameters:
LambdaS3:
Description: Api Gateway Authorizer Lambda S3Bucket Name
Type: String
Lambdafilename:
Description: Api Gateway Authorizer Lambda file Name (Latest)
Type: String
LambdafileVersion:
Description: Lambda zip file version
Type: String
Transform: AWS::Serverless-2016-10-31
Resources:
LambdaFunction:
DeletionPolicy: "Delete"
Type: "AWS::Serverless::Function"
Properties:
Description: ""
FunctionName: "LambdaFunction"
Handler: "lambda_function.lambda_handler"
CodeUri:
Bucket: !Ref LambdaS3
Key: !Sub '${Lambdafilename}.zip'
Version: !Ref LambdafileVersion
MemorySize: 512
Role: !GetAtt IAMRole2.Arn
Runtime: "python3.8"
Timeout: 20
Tracing: "PassThrough"
AutoPublishAlias: live
DeploymentPreference:
Type: Linear10PercentEvery10Minutes
uj5u.com熱心網友回復:
這不起作用,因為您使用的是 CodeDeploy。如果您想按照您嘗試的方式更新函式,則必須從代碼中洗掉以下內容:
AutoPublishAlias: live
DeploymentPreference:
Type: Linear10PercentEvery10Minutes
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/403104.html
標籤:
上一篇:如何使用html在firefox95中禁用自動完成功能。我已經測驗過autocomplete=off,false,none,Randomstring對我沒有任何作用
