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
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

    报告相同问题?

    悬赏问题

    • ¥20 反编译一款APP手游,解密出lua脚本。
    • ¥15 改一下,代码,让代码符合要求
    • ¥15 报错问题,只有两个错误,如图片所示,i多次初始化
    • ¥15 matlab runtime 如何收费
    • ¥20 用C语言绘制cs1.6方框透视 出现了点问题 绘制不上去 矩阵数据 和敌人坐标都是正确的
    • ¥15 Tpad api账户 api口令
    • ¥30 ppt进度条制作,vba语言
    • ¥15 生信simpleaffy包下载
    • ¥15 在二层网络中,掩码存在包含关系即可通信
    • ¥15 端口转发器解析失败不知道电脑设置了啥