使用AWS Serverless Application Model(SAM)模板配置API网关和Lambda函数之间的集成。具体来说,需要在SAM模板中定义和部署API网关资源,然后将它们关联到Lambda函数中。这样,API网关和Lambda函数之间的集成就会在确保功能和行为一致的同时进行。以下是一个示例SAM模板:
Resources:
MyLambdaFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: .
Handler: my_lambda_function.handler
Runtime: python3.8
Events:
MyApiGatewayEvent:
Type: Api
Properties:
Path: /my-endpoint
Method: post
MyApiGateway:
Type: AWS::Serverless::Api
Properties:
StageName: prod
在这个示例中,我们定义了一个名为“MyApiGateway”的API网关,它与一个名为“MyLambdaFunction”的Lambda函数集成。API网关定义了“/my-endpoint”路径和POST方法,并将其与Lambda函数事件关联。此外,我们还指定了一个名为“prod”的阶段,以便在API网关部署后进行测试。
当我们部署这个SAM模板时,它将为我们自动创建API网关和Lambda函数,并将它们链接在一起,确保它们彼此协作以实现一致的功能和行为。
∠代码示例:
import json
def lambda_handler(event, context):
body = {
"message": "Hello World"
}
response = {
"statusCode": 200,
"body": json.dumps(body)
}
return response