【问题标题】:Serverless interlambda local communication无服务器 interlambda 本地通信
【发布时间】:2019-09-16 09:41:06
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: serverless serverless-offline


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-19
      • 2021-07-23
      • 1970-01-01
      • 2012-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-05
      相关资源
      最近更新 更多