0

나는 한동안 서버리스 개발자였으며 ​​주로 AWS 였고 SNS pub/sub 디자인 패턴을 시작했습니다. typescript를 사용하고 있는데 형식 지원이 환상적이지만 SNS 또는 S3 트리거에서 Lambda로 들어오는 이벤트에 대해 올바른 유형을 찾을 수 없습니다. 이것들은 함수 사이의 이음새를 매우 안전하게 만듭니다. 내 자신의 인터페이스를 정의하는 순간, 이것은 매우 힘들어 질 것이다. 예 : AWS Lambda SNS 트리거 이벤트 유형?

사람이 내가 많은 의무를하려는 올바른 방향으로 날 지점 수 있다면

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); 
 
}

.

건배.

답변