Функция Lambda Python не может выполнить запись в CloudWatch

#python #aws-lambda #amazon-cloudwatch

#python #aws-lambda #amazon-cloudwatch

Вопрос:

Я пытаюсь передать некоторые пользовательские выборочные показатели в Cloudwatch из лямбда-функции, используя приведенный ниже код, но время ожидания истекло, даже при ограничении времени ожидания в 30 секунд. На всякий случай я установил полные разрешения CloudWatch для функции lambda, но безрезультатно. Есть идеи, что может вызвать это?

 import boto3
import random
def lambda_handler(event, context):
    cloudwatch = boto3.client('cloudwatch')
    cloudwatch.put_metric_data(
        MetricData = [
            {
                'MetricName': 'KPIs',
                'Dimensions': [
                    {
                        'Name': 'PURCHASES_SERVICE',
                        'Value': 'CoolService'
                    },
                    {
                        'Name': 'APP_VERSION',
                        'Value': '1.0'
                    },
                ],
                'Unit': 'None',
                'Value': random.randint(1, 500)
            },
        ],
        Namespace = 'TestMetrics'
    )
 

Комментарии:

1. Вы используете lambda внутри VPC?

2. 'Value': random.randint(1, 500) — это должно быть значение float, а не int

3. Да, лямбда-код находится внутри VPC. Тем не менее, я попробовал новую функцию с тем же кодом, но без VPC, и время ожидания все равно истекло.

4. честно говоря, я могу отлично выполнить точный код с конфигурацией VPC и без нее, возможно, вы сможете распечатать ответ после вызова функции put_metric_data . Написал что- то подобное для себя.