在单个AWS Lambda中使用两个python函数boto3
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在单个AWS Lambda中使用两个python函数boto3相关的知识,希望对你有一定的参考价值。
我想在一个AWS Lambda函数中编写两个函数。目前,Lambda使用处理程序触发函数,以防我在代码中有两个函数,然后如何更改它,以便Lambda处理程序可以执行这两个函数。
我找到了这个。但是,它使用if语句。在我的场景中,我将不得不一个接一个地运行这两个函数,并将第一个函数的输出传递给第二个函数。谢谢How to have more than one handler in AWS Lambda Function?
以下是示例代码:
import boto3' import json' from datetime
import datetime REGION = 'us-east-1'
emrclient = boto3.client('emr', region_name=REGION)
def lambda_handler(event, context):
EMRS = emrclient.list_clusters( ClusterStates = ['STARTING', 'RUNNING', 'WAITING', 'TERMINATING'] )
clusters = EMRS["Clusters"]
for cluster in clusters :
ID = cluster.get("Id")
EMRid = emrclient.list_instance_groups( ClusterId = str("ID") )
print(EMRid)
答案
如果没有关于您的用例的更多信息,很难说最佳解决方案是什么,但AWS Step Functions旨在处理运行多个lambdas,并以稳健的方式在它们之间传递数据(重试,并行化等)。
This blog post提供了一个很好的概述,尽管示例中的代码是javascript而不是Python。
以上是关于在单个AWS Lambda中使用两个python函数boto3的主要内容,如果未能解决你的问题,请参考以下文章
如何为 Alexa Skills Kit 和 API.AI 使用单个 AWS Lambda?
如何使用Lambda从Amazon AWS中提取和转换单个dynamodb元素
访问 AWS Lambda 的 Amazon CloudWatch 日志
在定义单个 AWS::Serverless::Function 的 SAM 模板中指定多个 API 阶段和 Lambda 别名