AWS Шаблон SAM: ошибка отображения событий S3 в Lambda - PullRequest
0 голосов
/ 08 апреля 2020

Я следовал документации AWS SAM для практического обучения и достиг этого конкретного раздела: https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-function-s3.html

На приведенной выше странице документации объясняется, как сопоставить события S3 для любого ресурса, и я сделал что-то подобное на моей локальной машине. Мой локальный шаблон ниже.

AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Resources:
  CreateThumbnail:
    Type: AWS::Serverless::Function
    Properties:
      CodeUri: hello_world/
      Handler: app.lambda_handler
      Runtime: python3.6
      Timeout: 60
      Policies: AWSLambdaExecute
      Events:
        CreateThumbnailEvent:
          Type: S3
          Properties:
            Bucket: !Ref testBucket
            Events: s3:ObjectCreated:*

  testBucket:
    Type: AWS::S3::Bucket

Теперь, когда я создаю и развертываю над шаблоном SAM, пока создается новый сегмент S3, событие «создание объекта» не сопоставляется с созданной функцией Lambda. Снимок экрана PSB.

Screenshot showing that S3 events are not mapped

Я не нашел ни одной статьи или блога по этой ошибке (возможно, я делаю глупую ошибку здесь)

Пожалуйста, помогите.

Спасибо.

Ответы [ 3 ]

0 голосов
/ 08 апреля 2020

Я понял, что по какой-то причине AWS Лямбда-консоль не показывает событие триггера, но отображение успешно. Я также проверил, загрузив образец изображения в корзину, которая вызвала лямбду.

Отображение событий можно увидеть в разделе свойств созданной корзины S3.

Созданная тестовая корзина S3 - > Недвижимость -> События

S3 bucket properties showing the created events

0 голосов
/ 23 апреля 2020

Вы можете добавить AWS::Lambda::Permission к вашему Resources. Это сработало для меня: https://github.com/awslabs/serverless-application-model/issues/300#issuecomment -510847259

0 голосов
/ 08 апреля 2020

Сначала создайте корзину, в которой вы планируете сохранить упакованный код

aws s3 mb s3://youtbucketname

После sam build go для

sam package --template-file template.yaml --s3-bucket <yourbucketname>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...