首页 > web前端 > js教程 > 使用Node.js,AWS Lambda和Mongodb Atlas的无服务器开发

使用Node.js,AWS Lambda和Mongodb Atlas的无服务器开发

Joseph Gordon-Levitt
发布: 2025-02-15 12:11:12
原创
334 人浏览过

Serverless development with Node.js, AWS Lambda and MongoDB Atlas

关键要点

  • 使用 AWS Lambda、Node.js 和 MongoDB Atlas 的无服务器架构允许开发者在无需管理服务器的情况下运行代码,专注于编码,而 AWS 负责基础设施。
  • AWS Lambda 与 MongoDB Atlas 无缝集成,通过基于数据库事件触发函数,从而实现强大的实时应用程序。
  • 安全设置包括创建一个具有有限权限的 MongoDB Atlas 数据库用户,以及使用 AWS 密钥管理服务 (KMS) 加密敏感的环境变量。
  • 本地测试 Lambda 函数可以加快开发和调试速度,这得益于诸如 lambda-local 之类的工具,这些工具可以在本地模拟 AWS Lambda 环境。
  • 通过在 Lambda 函数中重用数据库连接可以优化性能,从而减少执行时间和资源消耗。
  • 在部署到生产环境之前,务必通过设置正确的用户角色和白名单 IP 地址来保护 MongoDB Atlas 集群,避免使用安全性较低的 0.0.0.0/0 CIDR 块。

本文最初发表于 mongoDB。感谢您支持使 SitePoint 成为可能的合作伙伴。

近年来,开发者环境发生了巨大变化。过去,我们开发者通常会在自己的机器上运行所有工具(数据库、Web 服务器、开发 IDE……),但 GitHub、MongoDB Atlas 和 AWS Lambda 等云服务正在彻底改变这一局面。它们使开发者越来越容易在任何地方、任何设备上编写和运行代码,而无需(或只需很少)依赖项。

几年前,如果您崩溃了机器、丢失了机器或只是断电了,您可能需要几天时间才能让新机器重新运行起来,并正确设置和配置所有内容,使其恢复到之前的状态。

借助云端的开发者工具,您现在可以从一台笔记本电脑切换到另一台笔记本电脑,而不会造成太大的中断。但是,这并不意味着一切都很顺利。在云端编写和调试代码仍然具有挑战性;作为开发者,我们知道拥有一个本地开发环境,尽管更轻量级,但仍然非常有价值。

这正是我在这篇博文中将尝试向您展示的内容:如何轻松地将 AWS Lambda Node.js 函数与托管在 MongoDB Atlas(MongoDB 的 DBaaS(数据库即服务))中的 MongoDB 数据库集成。更具体地说,我们将编写一个简单的 Lambda 函数,该函数在一个存储在 MongoDB Atlas 数据库中的集合中创建一个单个文档。我将逐步指导您完成本教程,您应该在一个小时内完成它。

让我们从必要的需求开始,让您开始运行:

  1. 一个可用的 Amazon Web Services 帐户,该帐户的用户具有对 IAM 和 Lambda 服务的管理访问权限。如果您还没有帐户,请注册一个免费的 AWS 帐户。
  2. 一台装有 Node.js 的本地机器(我告诉过您,我们不会轻易摆脱本地开发环境……)。我们将在下面的教程中使用 Mac OS X,但在 Windows 或 Linux 上执行相同的任务应该相对容易。
  3. 一个正在运行的 MongoDB Atlas 集群。如果您还没有,请注册一个免费的 MongoDB Atlas 帐户,并只需点击几下即可创建一个集群。您甚至可以尝试我们的 M0 免费集群层,非常适合小型开发项目!)。

既然您了解了需求,让我们讨论一下我们将采取的具体步骤来编写、测试和部署我们的 Lambda 函数:

  1. MongoDB Atlas 默认情况下是安全的,但作为应用程序开发者,我们应该采取一些步骤来确保我们的应用程序符合最小权限访问最佳实践。也就是说,我们将通过创建一个仅对我们的应用程序数据库具有读/写访问权限的 MongoDB Atlas 数据库用户来微调权限。
  2. 我们将在本地机器上设置一个 Node.js 项目,并且在将其部署到 Amazon Web Services 之前,我们将确保在本地端到端测试我们的 lambda 代码。
  3. 然后,我们将创建我们的 AWS Lambda 函数并将我们的 Node.js 项目上传到初始化它。
  4. 最后但并非最不重要的一点是,我们将对我们的 Lambda 函数进行一些修改,以加密一些敏感数据(例如 MongoDB Atlas 连接字符串)并从函数代码中解密它。

关于 VPC 对等互连的简短说明

我没有深入探讨在我们的 MongoDB Atlas 集群和 AWS Lambda 之间设置 VPC 对等互连的细节,原因有两个:1) 我们已经有关于设置 VPC 对等互连的详细文档页面和一篇关于 Atlas 中 VPC 对等互连的博文,我强烈推荐;2) M0 集群(我用来构建该演示的集群)不支持 VPC 对等互连。

如果您没有设置 VPC 对等互连,将会发生以下情况:

  1. 您必须将臭名昭著的 0.0.0.0/0 CIDR 块添加到您的 MongoDB Atlas 集群 IP 白名单中,因为您将不知道 AWS Lambda 使用哪个 IP 地址来调用您的 Atlas 数据库。
  2. 您将为 Lambda 函数和 Atlas 集群之间的带宽使用付费。

如果您只是尝试获取此演示代码以进行编写,这两个警告可能没问题,但如果您计划部署一个可用于生产环境的 Lambda-Atlas 集成,则设置 VPC 对等互连是我们强烈推荐的安全最佳实践。M0 是我们当前的免费产品;请查看我们的 MongoDB Atlas 定价页面以了解所有可用实例大小的完整范围。

提醒一下,对于开发环境和低流量网站,M0、M10 和 M20 实例大小应该没问题。但是,对于支持高流量应用程序或大型数据集的生产环境,建议使用 M30 或更大实例大小。

在您的 MongoDB Atlas 集群中设置安全

确保您的应用程序符合最小权限访问策略对于保护您的数据免受恶意威胁至关重要。这就是为什么我们将设置一个特定的数据库用户,该用户将只对我们的 travel 数据库具有读/写访问权限。让我们看看如何在 MongoDB Atlas 中实现这一点:

在“集群”页面上,选择“安全”选项卡,然后按“添加新用户”按钮

Serverless development with Node.js, AWS Lambda and MongoDB Atlas Serverless development with Node.js, AWS Lambda and MongoDB Atlas 在“用户权限”部分,选择链接。这允许我们为特定数据库分配读/写权限,而不是任何数据库。

Serverless development with Node.js, AWS Lambda and MongoDB Atlas 然后,您可以选择分配更细粒度的访问控制权限:

Serverless development with Node.js, AWS Lambda and MongoDB Atlas 在“选择角色”下拉列表中,选择 readWrite 并使用您将用于存储文档的数据库的名称填写“数据库”字段。我选择将其命名为 travel。

Serverless development with Node.js, AWS Lambda and MongoDB Atlas 在“密码”部分,使用“自动生成安全密码”按钮(并记下生成的密码)或设置您喜欢的密码。然后按“添加用户”按钮以确认此用户创建。

让我们顺便获取集群连接字符串,因为我们将在 Lambda 代码中需要它来连接到我们的 MongoDB Atlas 数据库:

假设您已经创建了一个 MongoDB Atlas 集群,请按集群旁边的“连接”按钮:

Serverless development with Node.js, AWS Lambda and MongoDB Atlas 复制“URI 连接字符串”值并将其安全地存储在文本文档中。我们稍后将在代码中需要它,以及您刚刚设置的密码。

Serverless development with Node.js, AWS Lambda and MongoDB Atlas 此外,如果您没有使用 VPC 对等互连,请导航到“IP 白名单”选项卡并添加 0.0.0.0/0 CIDR 块或按“允许从任何地方访问”按钮。提醒一下,此设置强烈建议不要用于生产环境,并且可能会使您的 MongoDB Atlas 集群容易受到恶意攻击。

Serverless development with Node.js, AWS Lambda and MongoDB Atlas 创建本地 Node.js 项目

虽然 Lambda 函数支持多种语言,但我选择使用 Node.js,这要归功于 JavaScript 作为一种多功能编程语言的日益普及以及 MEAN 和 MERN 堆栈的巨大成功(MongoDB、Express.js、Angular/React、Node.js 的首字母缩写词 – 查看 Andrew Morgan 关于此主题的精彩开发者博客系列)。此外,说实话,我喜欢它是一种解释型轻量级语言,不需要繁重的开发工具和编译器。

现在该编写一些代码了,所以让我们继续使用 Node.js 作为我们 Lambda 函数的首选语言。

首先创建一个文件夹,例如 lambda-atlas-create-doc

<code>mkdir lambda-atlas-create-doc 
&& cd lambda-atlas-create-doc</code>
登录后复制
登录后复制
登录后复制
登录后复制

接下来,从终端控制台运行以下命令,使用 package.json 文件初始化我们的项目

<code>npm init</code>
登录后复制
登录后复制
登录后复制
登录后复制

系统会提示您配置一些字段。我将它们留给您的创造力,但请注意,我选择将入口点设置为 app.js(而不是默认的 index.js),因此您可能也希望这样做。

我们需要使用 MongoDB Node.js 驱动程序,以便我们可以从 Lambda 函数(在 Atlas 上)连接到我们的 MongoDB 数据库,因此让我们继续运行以下命令从我们的项目根目录安装它:

<code>npm install mongodb --save</code>
登录后复制

我们还希望在本地编写和测试我们的 Lambda 函数以加快开发和简化调试,因为每次在 Amazon Web Services 中实例化 lambda 函数并不是特别快(并且调试实际上不存在,除非您是 console.log() 函数的粉丝)。我选择使用 lambda-local 包,因为它提供对环境变量的支持(我们稍后将使用):

<code>(sudo) npm install lambda-local -g</code>
登录后复制

创建一个 app.js 文件。这将是包含我们的 lambda 函数的文件:

<code>touch app.js</code>
登录后复制

现在您已经导入了所有必需的依赖项并创建了 Lambda 代码文件,请在您选择的代码编辑器(Atom、Sublime Text、Visual Studio Code……)中打开 app.js 文件,并使用以下代码段对其进行初始化:

<code>'use strict'

var MongoClient = require('mongodb').MongoClient;

let atlas_connection_uri;
let cachedDb = null;

exports.handler = (event, context, callback) => {
  var uri = process.env['MONGODB_ATLAS_CLUSTER_URI'];

  if (atlas_connection_uri != null) {
    processEvent(event, context, callback);
  } 
  else {
    atlas_connection_uri = uri;
    console.log('the Atlas connection string is ' + atlas_connection_uri);
    processEvent(event, context, callback);
  } 
};

function processEvent(event, context, callback) {
  console.log('Calling MongoDB Atlas from AWS Lambda with event: ' + JSON.stringify(event));
}</code>
登录后复制

让我们稍作停顿并注释上面的代码,因为您可能已经注意到一些奇怪的结构:

  • 该文件完全按照 AWS Lambda 预期的方式编写(例如,使用“exports.handler”函数)。这是因为我们使用 lambda-local 在本地测试我们的 lambda 函数,这让我们可以完全按照 AWS Lambda 预期的方式编写我们的代码。稍后将详细介绍。
  • 我们正在声明 MongoDB Node.js 驱动程序,它将帮助我们从 Lambda 函数连接到 MongoDB 数据库(在 Atlas 上)。
  • 还请注意,我们正在 handler 函数外部声明一个 cachedDb 对象。顾名思义,它是一个对象,我们计划在 AWS Lambda 为我们的函数实例化的底层容器的持续时间内对其进行缓存。这使我们可以节省一些宝贵的毫秒(甚至秒)来在 Lambda 和 MongoDB Atlas 之间创建数据库连接。有关更多信息,请阅读我后续的博文,了解如何使用 MongoDB Atlas 优化 Lambda 性能。
  • 我们使用名为 MONGODB_ATLAS_CLUSTER_URI 的环境变量来传递 Atlas 数据库的 uri 连接字符串,主要出于安全原因:我们显然不想在我们的函数代码中硬编码此 uri,以及诸如我们使用的用户名和密码之类的非常敏感的信息。由于 AWS Lambda 自 2016 年 11 月以来支持环境变量(lambda-local NPM 包也是如此),我们不使用它们就太疏忽了。
  • 该函数代码看起来有点复杂,使用了看似无用的 if-else 语句和 processEvent 函数,但当我们使用 AWS 密钥管理服务 (KMS) 添加解密例程时,这一切都会变得清晰。事实上,我们不仅希望将我们的 MongoDB Atlas 连接字符串存储在环境变量中,而且还希望对其进行加密(使用 AWS KMS),因为它包含高度敏感的数据(请注意,即使您拥有免费的 AWS 帐户,当您使用 AWS KMS 时也可能会产生费用)。

现在我们完成了代码注释,让我们创建一个 event.json 文件(在项目根目录中)并使用以下数据填充它:

<code>mkdir lambda-atlas-create-doc 
&& cd lambda-atlas-create-doc</code>
登录后复制
登录后复制
登录后复制
登录后复制

(如果您想知道,该 JSON 文件就是我们将发送到 MongoDB Atlas 以创建我们的 BSON 文档的内容)

接下来,确保您已正确设置,方法是在终端控制台中运行以下命令:

<code>npm init</code>
登录后复制
登录后复制
登录后复制
登录后复制

如果您想使用您自己的集群 URI 连接字符串进行测试(我相信您会的),请不要忘记转义 E 参数中的双引号、逗号和&字符,否则 lambda-local 将抛出错误(您还应该将 $PASSWORD 和 $DATABASE 关键字替换为您自己的值)。

在您在本地运行它之后,您应该会看到以下控制台输出:

Serverless development with Node.js, AWS Lambda and MongoDB Atlas 如果您遇到错误,请检查您的连接字符串和双引号/逗号/&转义(如上所述)。

现在,让我们通过自定义 processEvent() 函数并添加 createDoc() 函数来处理函数代码的核心内容:

<code>mkdir lambda-atlas-create-doc 
&& cd lambda-atlas-create-doc</code>
登录后复制
登录后复制
登录后复制
登录后复制

请注意,连接到 MongoDB Atlas 数据库和插入文档是多么容易,以及我添加的小段代码来将 JSON 日期(格式化为符合 ISO 标准的字符串)转换为 MongoDB 可以作为 BSON 日期存储的真实 JavaScript 日期。

您可能还注意到了我的性能优化注释和对 context.callbackWaitsForEmptyEventLoop = false 的调用。如果您有兴趣了解它们的意思(我认为您应该了解!),请参阅我后续的博文,了解如何使用 MongoDB Atlas 优化 Lambda 性能。

您现在已准备好完全在本地测试您的 Lambda 函数。使用与之前相同的 lambda-local 命令,希望您会收到一条不错的“Kudos”成功消息:

Serverless development with Node.js, AWS Lambda and MongoDB Atlas 如果在您的本地机器上一切顺利,让我们将我们的本地 Node.js 项目发布为一个新的 Lambda 函数!

创建 Lambda 函数

我们将要采取的第一步是压缩我们的 Node.js 项目,因为我们不会在 Lambda 代码编辑器中编写 Lambda 代码函数。相反,我们将选择 zip 上传方法来将我们的代码推送到 AWS Lambda。

我在终端控制台中使用了 zip 命令行工具,但任何方法都可以(只要您将文件压缩到顶级文件夹中,而不是顶级文件夹本身!):

<code>npm init</code>
登录后复制
登录后复制
登录后复制
登录后复制

接下来,登录 AWS 控制台,导航到 IAM 角色页面并创建一个角色(例如 LambdaBasicExecRole),该角色具有 AWSLambdaBasicExecutionRole 权限策略:

Serverless development with Node.js, AWS Lambda and MongoDB Atlas 现在让我们导航到 AWS Lambda 页面。单击“立即开始”(如果您从未创建过 Lambda 函数)或“创建 Lambda 函数”按钮。我们不会使用任何蓝图,也不会配置任何触发器,因此请直接在左侧导航栏中选择“配置函数”:

Serverless development with Node.js, AWS Lambda and MongoDB Atlas 在“配置函数”页面中,输入函数的名称(例如 MongoDB_Atlas_CreateDoc)。运行时自动设置为 Node.js 4.3,这对我们来说非常完美,因为这是我们将使用的语言。在“代码输入类型”列表中,选择“上传 .ZIP 文件”,如下面的屏幕截图所示:

Serverless development with Node.js, AWS Lambda and MongoDB Atlas 单击“上传”按钮并选择您之前创建的压缩 Node.js 项目文件。

在“Lambda 函数处理程序和角色”部分,将“处理程序”字段值修改为 app.handler(为什么?这里有一个提示:我为我的 Lambda 函数代码使用了 app.js 文件,而不是 index.js 文件……)并选择我们刚刚创建的现有 LambdaBasicExecRole 角色:

Serverless development with Node.js, AWS Lambda and MongoDB Atlas 在“高级设置”部分,您可能希望将“超时”值增加到 5 或 10 秒,但这始终是您以后可以调整的内容。将 VPC 和 KMS 密钥字段保留为其默认值(除非您要使用 VPC 和/或 KMS 密钥),然后按“下一步”。

最后,查看您的 Lambda 函数,然后按底部的“创建函数”。恭喜,您的 Lambda 函数已上线,您应该会看到类似于以下屏幕截图的页面:

Serverless development with Node.js, AWS Lambda and MongoDB Atlas 但是您还记得我们使用环境变量吗?现在是配置它们并使用 AWS 密钥管理服务来保护它们的时候了!

配置和保护您的 Lambda 环境变量

向下滚动到 Lambda 函数的“代码”选项卡中,并创建一个具有以下属性的环境变量:

名称 值 MONGODB_ATLAS_CLUSTER_URI YOUR_ATLAS_CLUSTER_URI_VALUE Serverless development with Node.js, AWS Lambda and MongoDB Atlas 此时,您可以按页面顶部的“保存并测试”按钮,但为了提高安全性(建议),我们将加密该连接字符串。

选中“启用加密助手”复选框,如果您已经创建了加密密钥,请选择它(否则,您可能需要创建一个 – 这很容易):

Serverless development with Node.js, AWS Lambda and MongoDB Atlas 接下来,为 MONGODB_ATLAS_CLUSTER_URI 变量选择“加密”按钮:

Serverless development with Node.js, AWS Lambda and MongoDB Atlas 回到内联代码编辑器中,在顶部添加以下行:

<code>mkdir lambda-atlas-create-doc 
&& cd lambda-atlas-create-doc</code>
登录后复制
登录后复制
登录后复制
登录后复制

并将“exports.handler”方法中“else”语句的内容替换为以下代码:

<code>npm init</code>
登录后复制
登录后复制
登录后复制
登录后复制

(希望我们最初编写的复杂代码现在有意义了!)

如果您想检查我使用的整个函数代码,请查看以下 Gist。对于 Git 粉丝,完整的 Node.js 项目源代码也可在 GitHub 上获得。

现在按“保存并测试”按钮,并在“输入测试事件”文本编辑器中粘贴我们的 event.json 文件的内容:

Serverless development with Node.js, AWS Lambda and MongoDB Atlas 滚动并按下“保存并测试”按钮。

如果您正确配置了一切,您应该会在 Lambda 日志输出中收到以下成功消息:

Serverless development with Node.js, AWS Lambda and MongoDB Atlas 太棒了!您可以在继续阅读之前享受几分钟的成功。

接下来是什么?

我希望本 AWS Lambda-MongoDB Atlas 集成教程能为您开始第一个 Lambda 项目提供正确的步骤。您现在应该能够在本地编写和测试 Lambda 函数,并将敏感数据(例如您的 MongoDB Atlas 连接字符串)安全地存储在 AWS KMS 中。

那么接下来您可以做什么呢?

  • 如果您还没有 MongoDB Atlas 帐户,现在创建也为时不晚!
  • 如果你不熟悉 MongoDB Node.js 驱动程序,请查看我们的 Node.js 驱动程序文档,了解如何充分利用 MongoDB API。此外,我们还为刚开始使用 MongoDB 的 Node.js 开发者提供在线 Node.js 课程。
  • 了解如何使用 Lambda 函数创建的数据,下载 MongoDB Compass 并阅读使用 MongoDB Compass 可视化您的数据,了解如何将其连接到 MongoDB Atlas。
  • 计划构建大量 Lambda 函数?通过阅读我们的使用 AWS Step Functions 集成 MongoDB Atlas、Twilio 和 AWS 简单电子邮件服务博文来学习如何使用 AWS Step Functions 来协调它们。
  • 了解如何在更复杂的场景中集成 MongoDB 和 AWS Lambda,请查看我们更高级的博文:使用 AWS Lambda 和 MongoDB Atlas 开发 Facebook 聊天机器人。

当然,请随时在下面的评论中提出任何问题或留下您的反馈。编码愉快!

喜欢这篇文章吗?重播我们的网络研讨会,其中我们对使用 AWS Lambda 的无服务器架构进行了交互式教程。

关于使用 Node.js、AWS Lambda 和 MongoDB Atlas 进行无服务器开发的常见问题解答 (FAQ)

使用 AWS Lambda 进行无服务器开发的好处是什么?

AWS Lambda 是无服务器开发中非常有益的工具。它允许开发者运行代码而无需管理服务器。这意味着您可以专注于编写代码,而让 AWS Lambda 处理基础设施。它会根据传入流量自动扩展您的应用程序,并且您只需为消耗的计算时间付费。这使其成为各种规模企业具有成本效益的解决方案。此外,AWS Lambda 支持多种编程语言,包括 Node.js,使其成为开发者的多功能选择。

MongoDB Atlas 如何与 AWS Lambda 集成?

MongoDB Atlas 与 AWS Lambda 无缝集成。它提供了一种完全托管的数据库服务,可以自动化耗时的管理任务,例如硬件配置、数据库设置、修补和备份。使用 MongoDB Atlas,您可以轻松地根据数据库事件(例如插入、更新或删除)触发 AWS Lambda 函数。这使您可以创建功能强大、实时且无服务器的应用程序。

使用 Node.js、AWS Lambda 和 MongoDB Atlas 设置无服务器应用程序的步骤是什么?

使用 Node.js、AWS Lambda 和 MongoDB Atlas 设置无服务器应用程序涉及多个步骤。首先,您需要设置您的 AWS Lambda 函数。这包括使用 Node.js 编写代码并将其上传到 AWS Lambda。接下来,您需要配置您的 MongoDB Atlas 集群。这包括创建一个新集群、配置您的 IP 白名单和创建一个数据库用户。最后,您需要将您的 AWS Lambda 函数连接到您的 MongoDB Atlas 集群。这包括配置您的 Lambda 函数以使用 MongoDB Atlas 连接字符串。

如何对无服务器应用程序的问题进行故障排除?

可以使用各种工具和技术对无服务器应用程序的问题进行故障排除。AWS Lambda 提供函数执行的详细日志,这可以帮助您识别任何错误或问题。MongoDB Atlas 还提供全面的监控和警报功能,使您可以跟踪数据库的性能并接收任何潜在问题的警报。此外,使用良好的编码实践并彻底测试您的应用程序可以帮助防止问题出现。

使用 AWS Lambda 和 MongoDB Atlas 时有哪些安全注意事项?

安全性是任何应用程序的关键方面,无服务器应用程序也不例外。AWS Lambda 提供多种安全功能,包括用于访问控制的 AWS Identity and Access Management (IAM)、传输中和静态加密以及用于网络隔离的 VPC 支持。MongoDB Atlas 还提供强大的安全功能,包括 IP 白名单、数据库审核以及静态和传输中加密。务必正确配置这些安全功能以保护您的应用程序和数据。

如何优化无服务器应用程序的性能?

优化无服务器应用程序的性能涉及多种策略。这包括正确配置 AWS Lambda 函数以实现最佳性能、使用高效代码以及优化 MongoDB Atlas 数据库。AWS Lambda 允许您为函数分配内存,这也按比例分配 CPU 能力、网络带宽和磁盘 I/O。MongoDB Atlas 提供性能优化功能,例如自动索引和性能顾问建议。

我可以在 AWS Lambda 和 MongoDB Atlas 中使用其他编程语言吗?

是的,AWS Lambda 支持多种编程语言,包括 Node.js、Python、Java、Go 和 .NET。MongoDB Atlas 可以与任何具有 MongoDB 驱动程序的编程语言一起使用。这使其成为无服务器开发的多功能解决方案。

无服务器架构如何影响我的应用程序的成本?

无服务器架构可以显着降低应用程序的成本。使用 AWS Lambda,您只需为消耗的计算时间付费,并且在代码未运行时不收费。MongoDB Atlas 提供各种定价选项,包括免费层,使您可以选择最适合您需求的选项。

如何将我的现有应用程序迁移到无服务器架构?

将现有应用程序迁移到无服务器架构涉及多个步骤。首先,您需要重构应用程序以使其与 AWS Lambda 和 MongoDB Atlas 兼容。这可能包括使用受支持的编程语言重写代码并修改数据库模式。接下来,您需要设置 AWS Lambda 函数和 MongoDB Atlas 集群。最后,您需要彻底测试您的应用程序,以确保它在新架构中正常工作。

使用 AWS Lambda 和 MongoDB Atlas 进行无服务器开发的局限性是什么?

虽然 AWS Lambda 和 MongoDB Atlas 为无服务器开发提供了许多好处,但需要注意一些局限性。AWS Lambda 对可使用的计算和存储资源量有限制,并且函数具有最大执行时间。MongoDB Atlas 还限制了数据库的大小和连接数。但是,这些限制通常足够高,可以容纳大多数应用程序。

以上是使用Node.js,AWS Lambda和Mongodb Atlas的无服务器开发的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板