Aws lambda 如何将AWS lambda 1输出传递为lambda 2';使用BOTO3进行输入
我有一个AWS lambda函数,其中包含一些信息,另外6个lambda函数使用BOTO 3查询cloudwatch日志 如何使用lambda 1输入调用lambda 2 我正在调用其他6个lambda,因为查询日志需要48分钟以上的执行时间。我将持续时间分为6个部分,并使用一些开始和结束时间调用每个lambda,因为lambda的执行时间最多为15分钟 λ1码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
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函数?请编辑您的问题,以提供有关该过程的更多信息。