I'm switching to the new Node AWS SDK (v3) to take advantage of its modularity and Typescript support. The first thing I needed to do was to write a Lambda function, but I can't find types to support the handler function signature. The types in the @aws/client-lambda
seem to all be related to, well, a client for managing Lambda.
Does the Node SDK have official types for writing Lambdas somewhere? In particular:
- Where is the type for the
context
argument? - For
event
argument, is there a list somewhere of the events that can come from other AWS services and their corresponding types?
interface Event {
// This could be anything -- a custom structure or something
// created by another AWS service, so it makes sense that
// there isn't a discoverable type for this. There should be
// corresponding types for each service that can send events
// to Lambda functions though. Where are these?
}
interface Context {
// This is provided by Lambda, but I can't find types for it anywhere.
// Since it's always the same, there should be a type defined somewhere,
// but where?
}
exports.handler = ( event: Event, context: Context )=>{
// While `event` could anything so it makes sense to not have a single type available,
// `context` is always the same thing and should have a type somewhere.
}