Как записывать сообщения в журнал ошибок в Python в AWS Lambda - PullRequest
2 голосов
/ 23 апреля 2019

Я работаю над Lambda FAAS и пытаюсь отладить, записывая данные в «журнал», который является потоком журнала CloudTrail.

В nodejs я могу просто добавить следующее в мой Lambda FAAS и увидеть его в моем потоке журналов CloudTrail для этого конкретного вызова:

log ('это будет записано в журнале cloudtrailstream ')

Как бы я сделал следующее в Python 3 внутри Lambda?Любая помощь будет принята с благодарностью.

Ответы [ 3 ]

1 голос
/ 23 апреля 2019

Вы можете использовать модуль регистрации или просто использовать операторы печати.Документация AWS объясняет это подробно с примерами

https://docs.aws.amazon.com/lambda/latest/dg/python-logging.html

from __future__ import print_function

def lambda_handler(event, context):
    print('this will also show up in cloud watch')

return 'Hello World!'

1 голос
/ 23 апреля 2019

import logging

в коде добавить:

logging.debug('This is a debug message')
logging.info('This is an info message')
logging.warning('This is a warning message')
logging.error('This is an error message')
logging.critical('This is a critical message')
0 голосов
/ 23 апреля 2019

AWS автоматически получает все сообщения, отправленные в журнал или на стандартный вывод (операторы печати), и отправляет их в cloudWach, если у роли, настроенной в функции лямбда, есть доступ для записи в журналы наблюдения за облаком.Лямбда Принимает эту роль и использует политики разрешений для получения доступа к журналам CloudWatch для записи журналов.

Вам потребуется политика, прикрепленная к роли, подобная следующей, или вы можете прикрепить политику AWS под названием «AWSLambdaBasicExecutionRole»:

{
                            "Version": "2012-10-17",
                            "Statement": [
                              {
                                "Effect": "Allow",
                                "Action": [
                                  "logs:CreateLogGroup",
                                  "logs:CreateLogStream",
                                  "logs:PutLogEvents",
                                  "logs:DescribeLogStreams"
                              ],
                                "Resource": [
                                  "arn:aws:logs:*:*:*"
                              ]
                            }
                           ]
                        }

Без правильных разрешений вы увидите ошибкув CloudWatch «Произошла ошибка при загрузке потоков журнала. Пожалуйста, попробуйте еще раз, обновив эту страницу».

Это видео продемонстрирует проблему с разрешениями, а также просмотр журналов в облаке.https://studio.youtube.com/video/0VPTlPSfFiE/edit

Ссылки: https://geektopia.tech/post.php?blogpost=Write_To_CloudWatch_Logs_From_Lambda https://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...