Я не могу отфильтровать logStreams для функции lambda , используя API boto3 , с фильтром 'endtime'
или 'logStreamNamePrefix'
.
Это работает:
client = boto3.client('logs',
aws_access_key_id=aws_account['access_key'],
aws_secret_access_key=aws_account['secret_key'],
region_name=region)
logGroupName = '/aws/lambda/' + function_name
response = client.filter_log_events(
logGroupName=logGroupName,
startTime=int((datetime(2020, 1, 15)- datetime(1970, 1, 1)).total_seconds()), # epoch_time
)
Но это не так:
1.
response = client.filter_log_events(
logGroupName=logGroupName,
startTime=int((datetime(2020, 1, 15)- datetime(1970, 1, 1)).total_seconds()), # epoch_time
endTime=int((datetime(2020, 1, 31)- datetime(1970, 1, 1)).total_seconds())
)
ОШИБКА: возвращается пустой список, хотя для указанного временного диапазона есть данные журнала
2.
response = client.filter_log_events(
logGroupName=logGroupName,
startTime=int((datetime(2020, 1, 15)- datetime(1970, 1, 1)).total_seconds()), # epoch_time
logStreamNamePrefix='^2020/01' # logs starting with this prefix
)
ОШИБКА:
botocore.exceptions.ParamValidationError: Parameter validation failed:
Unknown parameter in input: "logStreamNamePrefix", must be one of: logGroupName, logStreamNames, startTime, endTime, filterPattern, nextToken, limit, interleaved