я следую это руководство о настройке лямбда-функции для подписки на события журнала. На шаге 5 вам нужно «Предоставить CloudWatch Logs разрешение на выполнение вашей функции» следующим образом:
aws lambda add-permission \
--function-name "helloworld" \
--statement-id "helloworld" \
--principal "logs.region.amazonaws.com" \
--action "lambda:InvokeFunction" \
--source-arn "arn:aws:logs:region:123456789123:log-group:TestLambda:*" \
--source-account "123456789012"
Это прекрасно работает.
Теперь, согласно документы то --source-arn
аргумент aws lambda add-permission
не является обязательным. Но если я его не предоставлю, когда я захожу на страницу конфигурации лямбда-функции на веб-сайте AWS, подписка не отображается как зарегистрированная (см. Первый снимок экрана ниже). Подписка фактически зарегистрирована и может запускать лямбду. Я могу подтвердить, удаляю ли я разрешение, и добавляю его повторно с --source-arn
подписка отображается как зарегистрированная (второй снимок экрана).
Думаю, это мелочь, но зачем --source-arn
аргумент к add-permission
имеют какое-либо отношение к тому, почему / почему подписка не отображается в пользовательском интерфейсе? Тем более, что предоставляете ли вы --source-arn
разрешения по-прежнему достаточно для выполнения лямбды.
(Примечание: после написания этого вопроса Q это просто кажется ошибкой. Но я собираюсь оставить это, чтобы я мог сослаться на него в большом отчете, ожидая ответа).