douzhi6365
2019-06-14 11:14
浏览 45
已采纳

如何在Go中创建AWS Lambda以处理多个事件

I need to implement the AWS Lambda handler to handle AWS S3Events & SNSEvent, any solution?

Already I checked this answer, How to support more than one trigger in AWS Lambda in Golang?

But that's doesn't work for me.

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • dsfs504545 2019-06-14 11:22
    已采纳

    According to this document you could hanlde your custom event. So you can create custom event which includes S3Entity and 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"`
    }
    

    Then check the 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
    }
    
    已采纳该答案
    打赏 评论

相关推荐 更多相似问题