下面是一个使用AWS CloudFormation来捕获AWS Lambda返回值的示例:
首先,创建一个Lambda函数,将其命名为MyLambdaFunction
,代码如下:
import json
def lambda_handler(event, context):
# 执行一些操作,并返回结果
result = {
"message": "Hello from Lambda!"
}
return {
'statusCode': 200,
'body': json.dumps(result)
}
然后,创建一个CloudFormation模板,命名为lambda-stack.yaml
,代码如下:
AWSTemplateFormatVersion: '2010-09-09'
Resources:
MyLambdaFunction:
Type: AWS::Lambda::Function
Properties:
Handler: index.lambda_handler
Role: !GetAtt MyLambdaExecutionRole.Arn
Runtime: python3.8
Code:
ZipFile: |
import json
def lambda_handler(event, context):
# 执行一些操作,并返回结果
result = {
"message": "Hello from Lambda!"
}
return {
'statusCode': 200,
'body': json.dumps(result)
}
MyLambdaExecutionRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument:
Statement:
- Effect: Allow
Principal:
Service: lambda.amazonaws.com
Action: sts:AssumeRole
Path: "/"
Policies:
- PolicyName: LambdaExecutionPolicy
PolicyDocument:
Statement:
- Effect: Allow
Action:
- logs:CreateLogGroup
- logs:CreateLogStream
- logs:PutLogEvents
Resource: arn:aws:logs:*:*:*
Outputs:
LambdaOutput:
Description: The output of the Lambda function
Value: !GetAtt MyLambdaFunction.Outputs
在上述模板中,我们创建了一个Lambda函数资源(MyLambdaFunction
)和一个具有必要权限的IAM角色资源(MyLambdaExecutionRole
)。然后,我们还定义了一个输出(LambdaOutput
),将用于捕获Lambda函数的返回值。
最后,使用AWS CLI或AWS Management Console来部署CloudFormation模板。完成后,您可以在CloudFormation堆栈的输出中找到Lambda函数的返回值。
请注意,上述示例中的Lambda函数和CloudFormation模板仅供参考,您可以根据自己的需求进行修改和定制。