Aws lambda 如何将AWS lambda 1输出传递为lambda 2';使用BOTO3进行输入

Aws lambda 如何将AWS lambda 1输出传递为lambda 2';使用BOTO3进行输入,aws-lambda,boto3,Aws Lambda,Boto3,我有一个AWS lambda函数,其中包含一些信息,另外6个lambda函数使用BOTO 3查询cloudwatch日志 如何使用lambda 1输入调用lambda 2 我正在调用其他6个lambda,因为查询日志需要48分钟以上的执行时间。我将持续时间分为6个部分,并使用一些开始和结束时间调用每个lambda,因为lambda的执行时间最多为15分钟 λ1码 import json import boto3 import time client = boto3.client('lambda

我有一个AWS lambda函数,其中包含一些信息,另外6个lambda函数使用BOTO 3查询cloudwatch日志

如何使用lambda 1输入调用lambda 2

我正在调用其他6个lambda,因为查询日志需要48分钟以上的执行时间。我将持续时间分为6个部分,并使用一些开始和结束时间调用每个lambda,因为lambda的执行时间最多为15分钟

λ1码

import json
import boto3
import time

client = boto3.client('lambda')

payload3=b"""{ "query":"fields @timestamp, @message | sort @timestamp desc", "log_group":"abc.log", "sTime":1585630748456, "eTime":1585713248457}"""

def lambda_handler(event,context):
    response = client.invoke(
        FunctionName='testamurin',
        InvocationType='Event',
        Payload=payload3
    )

   return {
        'statusCode': 200
    }
兰姆达2号

import json
import boto3
import time

client = boto3.client('logs')

def lambda_handler(event,context):

    response = client.start_query(
        logGroupName = log_group,
        startTime=sTime,
        endTime=eTime,
        queryString = query
    )

    query_id = response['queryId']

    response = None

    while response == None or response['status'] == 'Running':
        print('Waiting for query to complete ...')
        time.sleep(1)
        response = client.get_query_results(
            queryId=query_id)

    return {
        'body': response
    }
当我运行lambda1时,它将获得成功。但是,在lambda 2中,我得到了一个错误

[ERROR] NameError: name 'log_group' is not defined
Traceback (most recent call last):
  File "/var/task/lambda_function.py", line 16, in lambda_handler
    logGroupName = log_group,

我假设函数1正在调用函数2

功能1输入包含
first\u name
last\u name

职能1
导入json
从boto3导入客户端作为boto3_客户端
lambda_client=boto3_client(“lambda”)
def my_处理程序(事件、上下文):
响应=lambda_client.invoke(
FunctionName=“FUNCTION-2-NAME-FOUND-IN-LAMBDA-CONSOLE”,
InvocationType='RequestResponse',
有效负载=json.dumps(事件)
)
#对回应做点什么
# ...
职能2
def my_处理程序(事件、上下文):
message='Hello{}{}!'。格式(事件['first_name'],
事件['last_name'])
返回{
“消息”:消息
}  

我假设函数1正在调用函数2

功能1输入包含
first\u name
last\u name

职能1
导入json
从boto3导入客户端作为boto3_客户端
lambda_client=boto3_client(“lambda”)
def my_处理程序(事件、上下文):
响应=lambda_client.invoke(
FunctionName=“FUNCTION-2-NAME-FOUND-IN-LAMBDA-CONSOLE”,
InvocationType='RequestResponse',
有效负载=json.dumps(事件)
)
#对回应做点什么
# ...
职能2
def my_处理程序(事件、上下文):
message='Hello{}{}!'。格式(事件['first_name'],
事件['last_name'])
返回{
“消息”:消息
}  

您能否显示用于调用lambda函数的代码的相关部分以及收到的任何错误消息?您所说的“使用lambda 1输入调用lambda 2”是什么意思?调用第二个Lambda函数的是什么?为什么要使用两个单独的Lambda函数?请编辑您的问题,以提供有关该过程的更多信息。您能否显示用于调用lambda函数的代码的相关部分以及收到的任何错误消息?您所说的“使用lambda 1输入调用lambda 2”是什么意思?调用第二个Lambda函数的是什么?为什么要使用两个单独的Lambda函数?请编辑您的问题,以提供有关该过程的更多信息。