gpt4 book ai didi

serverless-framework - 无服务器离线 : handle multiple API gateways

转载 作者:行者123 更新时间:2023-12-01 10:29:17 25 4
gpt4 key购买 nike

当您只有一个时,您可以使用 Serverless Framework 和 Serverless Offline Plugin 轻松调试您的无服务器应用程序,但是当您有多个 API 网关/服务时,您如何处理这种情况?

我应该跑 serverless offline对于每个服务,在每个 .yml 中配置了不同的端口?
并在环境变量中对该端口进行硬编码,以便在 process.env.offline 时访问该端口是真的?

最佳答案

如果您想在本地同时运行两个或多个无服务器 API 网关,您可以使用 --port 轻松实现。范围。

基本上,打开两个命令行窗口,在第一个窗口中,转到您的第一个服务目录并运行:
sls offline start --port 3001
在另一个窗口中,转到您的第二个服务并运行:
sls offline start --port 3002
这样,您将有两个服务监听两个端口(在此示例中 http://localhost:3001http://localhost:3002 )。

如果您还使用 serverless-dynamodb-local 插件,则有一个问题(目前):

如果您不使用 DynamoDB 插件,那么您没问题,现在可以停止阅读了 :)

DynamoDB 插件使用相同的 --port参数并导致 java.net.BindException: Address already in use
看到这个问题:https://github.com/99xt/serverless-dynamodb-local/issues/135

解决方法是保留 serverless-offline-local插件在 中启用只有一项服务(如果您有两项或更多)。

例子,
my-service-1您将所有 dynamodb 配置保留在 serverless.yaml 中文件并使用默认端口启动此服务:sls offline start --migrate true .在接下来的服务中,我们称之为my-service-2删除 serverless-dynamodb-local来自 pluginsserverless.yaml (不需要任何其他更改)然后您可以使用以下命令启动服务:sls offline start --port 3001 .

第一个服务将启动 DynamoDB,第二个服务将能够使用它。

关于serverless-framework - 无服务器离线 : handle multiple API gateways,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44396427/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com