要部署多个AWS Lambda函数,您可以使用AWS CloudFormation模板来定义和配置所有函数,并将它们一起部署。以下是一个示例解决方案,它使用AWS CloudFormation和AWS SAM(Serverless Application Model)来部署两个AWS Lambda函数:
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Resources:
Function1:
Type: AWS::Serverless::Function
Properties:
CodeUri: ./function1
Handler: app.handler
Runtime: python3.8
Events:
MyApi:
Type: Api
Properties:
Path: /function1
Method: get
Function2:
Type: AWS::Serverless::Function
Properties:
CodeUri: ./function2
Handler: app.handler
Runtime: python3.8
Events:
MyApi:
Type: Api
Properties:
Path: /function2
Method: get
在上面的示例中,我们定义了两个Lambda函数(Function1和Function2),每个函数都具有自己的代码目录和处理程序。
import json
def handler(event, context):
return {
'statusCode': 200,
'body': json.dumps('Hello from Function1!')
}
function2文件夹中的app.py文件可能如下所示:
import json
def handler(event, context):
return {
'statusCode': 200,
'body': json.dumps('Hello from Function2!')
}
aws cloudformation deploy --template-file template.yaml --stack-name my-stack --capabilities CAPABILITY_IAM
这将创建一个名为my-stack的新CloudFormation堆栈,并根据模板文件中的定义部署两个Lambda函数。
请注意,上述示例仅包含基本的函数定义和部署步骤。根据您的需求,您可以根据模板文件的格式和Lambda函数的配置进行自定义和扩展。