我们可以在不部署的情况下在本地 运行 AWS lambda 吗?
Can we run an AWS lambda locally without deployment?
我是 AWS 的新手,一件事都不明白。我已经安装了 aws cli,现在我将开始使用 AWS 进行编码。但是所有在线教程都显示了创建实例、一些部署等。有什么方法可以在本地 运行 吗?因为是企业网,不想造成不合理的收费。
P.S.- 我们使用节点应用程序的方式有什么相似之处吗?我在本地使用 vscode、运行 构建应用程序并进行测试。一旦一切顺利,我将部署到生产中。
您可以使用 Serverless framework
或 AWS SAM
(无服务器应用程序模型)来创建 Lambda 函数。在这种情况下,您可以选择在本地 运行 您的 Lambda 函数。
AWS SAM 是用于创建无服务器服务(Lambda、DynamoDB 等)的官方 AWS 框架,而无服务器框架是第 3 方解决方案,尽管非常流行。
可能还有一些其他解决方案也可以帮助您 运行 在本地使用 Lambda 函数,但是由于您在谈论企业,因此您应该使用这两种解决方案中的一种来创建您的无服务器基础架构。
您不需要 Serverless framework
或 SAM
到 运行 本地。
函数是普通的nodeJs代码
对于 Lambda 函数,您通常导出函数处理程序,例如:
import { Callback, Context } from 'aws-lambda';
export function handler(event: any, context: Context, callback: Callback): void {}
您只需将此文件导入另一个文件或测试用例中,然后 运行 它将事件、上下文和回调作为参数传递。
对于Context和Callback,您可以使用@types/aws-lambda
查看它们的定义。
对于活动,您需要以 Lambda 函数可接受的格式制作一个 JSON 对象。
在 @types/aws-lambda
中,您将找到 AWS 平台使用的所有可能的事件类型。
我是 AWS 的新手,一件事都不明白。我已经安装了 aws cli,现在我将开始使用 AWS 进行编码。但是所有在线教程都显示了创建实例、一些部署等。有什么方法可以在本地 运行 吗?因为是企业网,不想造成不合理的收费。
P.S.- 我们使用节点应用程序的方式有什么相似之处吗?我在本地使用 vscode、运行 构建应用程序并进行测试。一旦一切顺利,我将部署到生产中。
您可以使用 Serverless framework
或 AWS SAM
(无服务器应用程序模型)来创建 Lambda 函数。在这种情况下,您可以选择在本地 运行 您的 Lambda 函数。
AWS SAM 是用于创建无服务器服务(Lambda、DynamoDB 等)的官方 AWS 框架,而无服务器框架是第 3 方解决方案,尽管非常流行。
可能还有一些其他解决方案也可以帮助您 运行 在本地使用 Lambda 函数,但是由于您在谈论企业,因此您应该使用这两种解决方案中的一种来创建您的无服务器基础架构。
您不需要 Serverless framework
或 SAM
到 运行 本地。
函数是普通的nodeJs代码
对于 Lambda 函数,您通常导出函数处理程序,例如:
import { Callback, Context } from 'aws-lambda';
export function handler(event: any, context: Context, callback: Callback): void {}
您只需将此文件导入另一个文件或测试用例中,然后 运行 它将事件、上下文和回调作为参数传递。
对于Context和Callback,您可以使用@types/aws-lambda
查看它们的定义。
对于活动,您需要以 Lambda 函数可接受的格式制作一个 JSON 对象。
在 @types/aws-lambda
中,您将找到 AWS 平台使用的所有可能的事件类型。