在单个AWS Lambda中使用两个python函数boto3

问题描述 投票:2回答:1

我想在一个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)
python amazon-web-services lambda aws-lambda boto3
1个回答
2
投票

如果没有关于您的用例的更多信息,很难说最佳解决方案是什么,但AWS Step Functions旨在处理运行多个lambdas,并以稳健的方式在它们之间传递数据(重试,并行化等)。

This blog post提供了一个很好的概述,尽管示例中的代码是JavaScript而不是Python。

© www.soinside.com 2019 - 2024. All rights reserved.