在lambda上运行 Typescript


要在AWS Lambda上运行TypeScript,你需要将TypeScript代码编译为JavaScript,然后将其部署到Lambda。以下是如何实现这个目标的简要步骤:

  1. 安装TypeScript:

在你的项目根目录下运行以下命令,安装TypeScript和类型定义:

npm init -y
npm install typescript --save-dev
npm install @types/node --save-dev
  1. 配置TypeScript:

在项目根目录下创建一个名为tsconfig.json的文件,添加以下内容:

{ 
  "compilerOptions": {
    "target": "es2018",
    "module": "commonjs",
    "outDir": "dist",
    "strict": true,
    "esModuleInterop": true
  },
  "include": ["src"]
}

这会将src目录下的TypeScript代码编译到dist目录下的JavaScript代码。

  1. 编写Lambda函数:

src目录下创建一个名为handler.ts的文件,并编写你的Lambda函数:

import { APIGatewayProxyHandler } from 'aws-lambda';

export const hello: APIGatewayProxyHandler = async (event, context) => {
  return {
    statusCode: 200,
    body: JSON.stringify({
      message: 'Hello from TypeScript Lambda!',
    }),
  };
};
  1. 编译TypeScript代码:

在项目根目录下运行以下命令,将TypeScript代码编译为JavaScript:

npx tsc

编译后的JavaScript代码将出现在dist目录下。

  1. 部署Lambda函数:

你可以使用AWS CLI、Serverless Framework、AWS CDK等工具将编译后的Lambda函数部署到AWS。在这里,我们使用AWS CLI。

首先,安装并配置AWS CLI

然后,将编译后的代码压缩为一个ZIP文件:

cd dist
zip -r lambda.zip .

接下来,使用AWS CLI创建一个Lambda函数:

aws lambda create-function \
  --function-name your-function-name \
  --runtime nodejs14.x \
  --handler handler.hello \
  --role arn:aws:iam::<your-account-id>:role/service-role/your-lambda-role \
  --zip-file fileb://lambda.zip

your-function-name替换为你希望使用的函数名称,将<your-account-id>替换为你的AWS帐户ID,将your-lambda-role替换为适当的IAM角色。

完成上述步骤后,你的TypeScript Lambda函数将部署到AWS Lambda,并准备好运行。你可以使用aws lambda invoke命令或AWS管理控制台测试和调用你的函数。


文章作者: AWS Learner
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 AWS Learner !
评论
  目录