amazon-web-services - 如何在 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,
}),
};
};
推荐阅读
- linux - 如何在 bash 中插入引号而不在它们的文字文本中进行变量扩展?
- python - 如何更快地将 pandas 2d MultiIndex 重塑为 numpy 3d?
- python - 从子进程 python 多线程调用中以提升的权限运行 bash 脚本
- tensorflow - tf.data.Dataset 的自定义批次
- php - Cron Jobs 未遵循 WHM/Server 时区
- javascript - 为什么 Chrome 在这些字谜算法的性能上与 Firefox 或 Edge 有显着差异?
- delphi - 不能在 Delphi 5 中使用多个索引字段
- python - 如何将 cmap.set_bad 设置移动到 PIL
- css - React:获取元素的高度,并且 this.ref 当前为空
- python-2.7 - 从 DBpedia 中提取图形,按跳数、方向