• 1000 * Я вызываю 6 других лямбда-выражений, потому что время выполнения запроса журналов занимает более 48 минут. Я разделил продолжительность на 6 частей и вызвал каждую лямбду с некоторым временем начала и окончания. Поскольку время выполнения лямбды составляет не более 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, все получается. Но в лямбда 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,