клиент boto3 не может правильно сериализоваться - PullRequest
1 голос
/ 07 мая 2019

Так что я новичок и в python, и в AWS / Lambda, и у меня возникли некоторые проблемы.Я хочу читать логи cloudwatch, используя boto3, но это не работает.Когда я запускаю приведенный ниже код в AWS, я получаю следующую ошибку:

An error occurred during JSON serialization of response: AttributeError("'CloudWatchLogs' object has no attribute 'start_query'",) is not JSON serializable

import boto3
import time

boto_client = boto3.client('logs')


def start_query(query):
    current_time = time.time()
    response = boto_client.start_query(
        logGroupName='app-start-logging',
        startTime=current_time,
        endTime=current_time - 86400,
        queryString=query
    )
    return response

Я следовал документации по https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/logs.html#CloudWatchLogs.Client.start_query

1 Ответ

1 голос
/ 07 мая 2019

Похоже, что CloudWatch Logs Insights был представлен 27 ноября 2018 года ( История документов - Amazon CloudWatch Logs ).

Версия boto3 в настоящее времяв AWS Lambda поддерживается 1.9.42 ( AWS Lambda Runtimes - AWS Lambda ).

Boto3 v1.9.42 был выпущен 10 ноября 2018 года ( boto3 · PyPI ).

Следовательно, версия boto3, поставляемая в AWS Lambda (на момент написания этой статьи) не поддерживает CloudWatch Logs Insight .

Вы можете обновитьверсия boto3, используемая в функции AWS Lambda.См .: Лямбда-функции с более новой версией boto3, чем доступно по умолчанию - M & S Consulting - AWS, Salesforce, Oracle, Hadoop

...