你如何在Typescript中优雅地导入AWS-Lambda?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了你如何在Typescript中优雅地导入AWS-Lambda?相关的知识,希望对你有一定的参考价值。
我正在aws lambda上构建一个打字稿项目。由于aws-sdk
已经提供了类型定义,我希望它也能为aws lambda定义。但我似乎必须单独安装@types/aws-lambda
才能工作。
//import { Lambda } from "aws-sdk";
import { Context } from "aws-lambda";
module.exports.hello = async (event:any, context:Context) => {
return {
statusCode: 200,
body: JSON.stringify({
message: 'function executed successfully!',
input: event,
}),
};
};
我希望这样的事情是可能的:
import { Lambda } from "aws-sdk";
module.exports.hello = async (event:any, context:Lambda.Context) => {
return {
statusCode: 200,
body: JSON.stringify({
message: 'function executed successfully!',
input: event,
}),
};
};
但它不是;)
那么我该怎么做呢?
答案
aws-sdk
不包含lambda的类型。因此,遗憾的是,你需要aws-sdk
和@types/aws-lambda
。另外我建议你在@types/aws-lambda
的devDependencies
宣布package.json
。
import * as AWS from "aws-sdk";
import { Context } from "aws-lambda";
module.exports.hello = async (event:any, context:Context) => {
// eg. if you need a DynamoDB client
// const docClient: AWS.DynamoDB.DocumentClient = new AWS.DynamoDB.DocumentClient({region: 'ap-southeast-2'});
return {
statusCode: 200,
body: JSON.stringify({
message: 'function executed successfully!',
input: event,
}),
};
};
以上是关于你如何在Typescript中优雅地导入AWS-Lambda?的主要内容,如果未能解决你的问题,请参考以下文章