AWS Lambda SNS 触发器事件类型是什么?

9

我已经做了一段时间的无服务器开发,主要使用AWS,现在开始研究SNS pub/sub设计模式。我正在使用typescript,类型支持非常出色,但是我找不到来自Lambda和S3触发器的事件的正确类型。这将使函数之间的接口更加安全。目前我正在定义自己的接口,但这将会变得繁琐。例如:

interface IAWSSNSTriggerPayload {
  Records: [
    {
      EventSource: string,
      EventVersion: string,
      EventSubscriptionArn: string,
      Sns: {
        Type: string,
        MessageId: string,
        TopicArn: string,
        Subject: string,
        Message: string,
        Timestamp: string,
        SignatureVersion: string,
        Signature: string,
        SigningCertUrl: string,
        UnsubscribeUrl: string,
        MessageAttributes: {},
      }
    }
  ]
}

export const handler = (event: IAWSSNSTriggerPayload, context, cb) => {
  const response = {
    statusCode: 200,
    body: JSON.stringify({
      message: 'Go Serverless Webpack (Typescript) v1.0! Your function executed successfully! And from the SNS',
      input: event,
    }),
  };
  console.log('SNS Received from Lambda Publisher!!!')
  console.log(JSON.stringify(event.Records))
  cb(null, response);
}

如果有人可以指导我方向,我会非常感激。
谢谢。
1个回答

14

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接