我已经做了一段时间的无服务器开发,主要是 AWS,并且刚刚开始进入 SNS 发布/订阅设计模式。我正在使用打字稿,并且类型支持非常好,但是我无法为从 SNS 或 S3 触发器传入 Lambda 的事件找到正确的类型。这些确实会使功能之间的接缝非常安全。目前我正在定义我自己的接口,但这会让人厌烦。例如
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 …Run Code Online (Sandbox Code Playgroud)amazon-web-services amazon-sns typescript aws-lambda serverless