在单个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?

aws lambda函数为单个事件多次触发

如何使用Lambda从Amazon AWS中提取和转换单个dynamodb元素

访问 AWS Lambda 的 Amazon CloudWatch 日志

在定义单个 AWS::Serverless::Function 的 SAM 模板中指定多个 API 阶段和 Lambda 别名

在多个 AWS Lambda 中处理相同的函数名称