Как создать AWS Lambda в Go для обработки нескольких событий - PullRequest
1 голос
/ 14 июня 2019

Мне нужно реализовать обработчик Lambda AWS для обработки AWS S3Events & SNSEvent, любое решение?

Я уже проверил этот ответ, Как поддерживать более одного триггера в AWS Lambda в Голанге?

Но это не работает для меня.

1 Ответ

3 голосов
/ 14 июня 2019

В соответствии с этим документом вы можете передать свое пользовательское событие.Таким образом, вы можете создать пользовательское событие, которое включает в себя S3Entity и SNSEntity

type Record struct {
   EventVersion         string           `json:"EventVersion"`
   EventSubscriptionArn string           `json:"EventSubscriptionArn"`
   EventSource          string           `json:"EventSource"`
   SNS                  events.SNSEntity `json:"Sns"`
   S3                   events.S3Entity  `json:"s3"`
}

type Event struct {
    Records []Record `json:"Records"`
}

. Затем проверьте EventSource

func handler(event Event) error {
   if len(event.Records) > 0 {
    if event.Records[0].EventSource == "aws:sns" {
       //Do Something
    } else {
       //Do Something
    }
  }

  return nil
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...