Вы настроили источник событий Amazon S3 для запуска функции AWS Lambda при создании или обновлении объектов в определенном бакете S3. Lambda использует имя бакета и ключ объекта из события для чтения объекта и анализа его содержимого, а затем записывает проанализированные данные в таблицу DynamoDB. Роль выполнения Lambda имеет разрешения на чтение бакета S3 и запись в DynamoDB, но функция не вызывается при добавлении или изменении объектов. Что устранит проблему?
Выберите ответ
Нажмите на вариант, чтобы проверить свой ответ.
Правильный ответ: Добавьте политику на основе ресурсов к функции Lambda, которая предоставляет Amazon S3 разрешение на вызов функции для этого бакета..
Почему это правильный ответ
Проблема заключается в том, что Amazon S3 не имеет разрешения на вызов функции Lambda. Чтобы S3 мог вызывать Lambda, необходимо предоставить ему явное разрешение. Это делается с помощью политики на основе ресурсов (resource-based policy), прикрепленной к самой функции Lambda. Эта политика позволяет указанному сервису (в данном случае S3) выполнять действие lambda:InvokeFunction для данной функции. Неправильные варианты: Политика бакета S3 не предоставляет S3 разрешение на вызов Lambda; она управляет доступом к самому бакету. Настройка очереди SQS как места назначения при сбое или как целевого назначения для уведомлений S3 не решает проблему отсутствия разрешения S3 на вызов Lambda. Эти варианты изменяют маршрутизацию событий или обработку ошибок, но не предоставляют необходимое разрешение.
Сдайте экзамен — без бесконечного поиска ответов
Получите все проверенные вопросы и объяснения для этого экзамена в одном месте и сэкономьте часы подготовки. 1000+ сертификаций · 20+ языков · начните бесплатно.
Сдайте экзамен быстрее → Карта не требуется