Событие AWS CloudWatch, вызывающее Lambda только иногда - PullRequest
0 голосов
/ 07 ноября 2018

Я настроил правило CloudWatch для запуска в определенное время, используя cron, но Lambda иногда вызывается только. Я гарантировал, что у роли выполнения Lambda есть надлежащие разрешения, и иногда правило CloudWatch будет работать должным образом, вызывая мою функцию Lambda.

Например, я программно создал правило, включил его и добавил цель, используя клиент boto3 в Python, затем, когда пришло время для выполнения роли, он показывает и показывает «ошибку вызова» в CloudWatch Метрики. Я взял то же самое точное правило и изменил cron на 2 минуты позже, и он работал просто отлично. Я также пытался вручную создать правило в консоли с таким же спорадическим успехом, что я не могу понять, как воспроизвести.

Единственными ресурсами, которые я нашел в Интернете, было добавление разрешений CloudWatch Events к роли Lambda, но, как я уже сказал, я уже сделал это и застрял в том, где разобраться в этой проблеме.

Ответы [ 2 ]

0 голосов
/ 03 декабря 2018

Решено: Я добавил разрешение CloudWatch Events для функции Lambda, но не для правильного псевдонима. Поэтому я добавил разрешение для lambdaFunction, но не для lambdaFunction: DEV, версии, которую я хотел вызвать. Несмотря на то, что остальная часть правила была настроена правильно, я не был уверен, что использовал правильный псевдоним на каждом этапе настройки конвейера.

0 голосов
/ 07 ноября 2018

Вы должны исследовать ошибку.

Убедитесь, что роль IAM, используемая функцией Lambda, имеет разрешение на запись в журналы CloudWatch. Самый простой способ - подключить предварительно определенную политику, которая называется AWSLambdaBasicExecutionRole.

.

Затем при каждом запуске функции отладочная информация будет отправляться в журналы CloudWatch. Затем вы можете посмотреть в журналах CloudWatch (под именем функции), чтобы выяснить причину ошибки.

...