0

我有一个带有 3 个“层”的无服务器项目-api和. 每一层只是单独部署的一组功能(我有设置 )。所有层都能够使用从顶部(api)到底部(db)的调用机制进行通信。只有layer 有 API Gateway URL,其他 layer 的所有功能都不需要通过 API url 暴露。servicesdbpackage.individually === true.serverless.ymlapi

现在项目增长,我们有更多的开发人员。我想防止有人在模块中使用时出现问题const accountDb = require('../db/account')api必须apidb通过调用包装器调用层)。

我想将单个无服务器项目拆分为 3 个不同的项目,但仍停留在本地运行。我可以在不同的端口上本地运行它们,但无法dbapi一个调用项目中的 lambda。很清楚为什么。

问题:是否可以从 project2 中的 lambda 调用 project1 中的一个 lambda,同时在本地运行而不暴露 API url(我知道我可以通过 AJAX 调用它)。

4

1 回答 1

0

绝对地!您需要在项目中使用aws-sdk在本地和 AWS 中进行 lambda-to-lambda 调用。然后,您需要使用serverless-offline-lambda-invoke使呼叫离线工作(注意endpoint您需要在本地设置的配置选项)。

于 2019-10-03T19:51:59.653 回答