Назад | Перейти на главную страницу

Изменение размера изображений с помощью AWS Lambda - проблема

Я пытаюсь автоматически изменить размер изображений с помощью Amazon S3 / Lambda. Проблема в том, что я не могу подключиться к корзинам Amazon S3 при создании функции Lambda.

  1. Создание новой пустой функции в AWS Lambda
  2. Использование Python 3.8
  3. Установка разрешений на использование существующей роли -> S3accessrole

Я проверил политики и разрешения для роли доступа S3 в консоли диспетчера IAM. Я также добавил AMAZON S3FULLACCESS в S3accessrole. Таким образом, эта роль должна иметь доступ ко всем сегментам S3 в моей учетной записи.

Но при создании функции соединение с какой-либо корзиной S3 не выполняется. Кроме того, журналы Amazon Cloudwatch находятся в той же роли и не отображаются в области дизайна. Например, посмотрите это видео YouTube: https://youtu.be/EyeduLX17Mc?t=120

На отметке 2 минуты вы можете увидеть, что функция имеет доступ к CloudWatch Logs и Amazon S3. Это появляется автоматически при создании функции. Хотя этот пользователь использовал для этого другую роль. На странице «Мой дизайн» отображается только функция «Оранжевый», и у него нет доступа к S3. При добавлении нового триггера для S3 также появляется предупреждающее сообщение о том, что никакая другая корзина S3 не используется, и это может вызвать проблемы.

Итак, мой вопрос: что мне не хватает? У функции есть правильная роль, которая имеет доступ ко всем ведрам S3 в моей учетной записи. И нет никаких ограничений в разрешении моих ведер S3.

  1. Убедитесь, что у вас есть lambda.amazonaws.com в роли Доверительные отношения, иначе ваша лямбда не сможет этого принять.
  2. Проверьте лямбды Журналы CloudWatch и посмотрите, какая ошибка возникает.
  3. Искать CloudTrail для лямбда-событий и посмотрите, какую роль он использует, и вы получите там какое-либо представление. Обратите внимание, что между вызовом лямбда-выражения и передачей журналов в CloudTrail может быть до 10 минут.
  4. Если это VPC-Lambda убедитесь, что он действительно может достичь конечной точки S3. Если это только для изменения размера изображений в S3, вам может вообще не понадобиться конфигурация VPC в лямбда-выражении.

Надеюсь, это поможет :)