问题标签 [serverless-offline]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
aws-lambda - 离线本地 Step Function 任务 Lambda 不返回其输出并冻结状态机直到超时
我对无服务器架构相对较新,但在尝试为我的团队创建一个完全离线的本地后端时遇到了一个非常令人沮丧的问题。显然我错过了一些基本的东西,所以请随意对我说:)。
我们正在尝试为此后端使用无服务器框架,其中包含 AWS 提供的所有服务。我不打算介绍我们正在使用的多处理器 lambda,因为这发生在我将在下面展示的非常基本的示例中。仅供参考,我们正在尝试利用 AWS 自己的本地步骤功能环境,就无服务器框架方面而言,我们正在尝试使用他们的无服务器步骤功能和无服务器离线插件以及其他一些类似的(最重要的可能) serverless-step-functions-local 您将在下面的 yaml 中看到列出的内容。请记住,这是完全脱机的,使用模拟凭据等。
我可以使用简单的回调()将以下片段的同步形式“返回/释放”到下一个 lambda 任务状态,没有问题...但是一旦我尝试使用返回一个异步 lambda对象(就像我试图开始工作的实际产品代码中的情况一样).. step 函数只是“挂起”并且永远不会将返回的数据释放到下一个 lambda 任务状态。
这是使用离线本地步进函数和异步 lambda 的已知问题吗?我写的 lambdas 错了吗?
测试1.js
Test2.js
无服务器.yml
包.json
运行后控制台的照片..注意所有等待状态都可以正常工作..来自第一个 lambda 的控制台日志出来..然后我在等待无服务器离线控制台日志几分钟后将其杀死
node.js - 在独立 nodejs 脚本中访问 serverless.yaml 中定义的环境配置
我最近开始研究一个我们正在使用无服务器框架的项目。我们正在使用 docker 使开发环境更易于设置。
作为此 docker 设置的一部分,我们创建了一个脚本,用于创建 S3 存储桶和表等。我们之前在docker-compose
文件中定义环境变量,并在我们的 nodejs 应用程序中访问它们。为了部署到其他环境,我们的 devops 团队在serverless.yaml
文件中定义了一些环境变量,导致环境配置出现在两个地方。我们现在计划将docker-compose
文件中定义的所有环境配置移动到serverless.yaml
. 这适用于我们的 lambdas 函数,因为它们能够读取这些配置,但它不适用于我们编写的独立设置脚本。
我尝试使用这个插件(serverless-scriptable-plugin
)试图能够读取这些环境变量,但仍然无法这样做。
这是我的serverless.yaml
文件
在我的 DockerFile 中,我尝试使用sls setup
CMD 执行脚本。我最初认为使用sls
命令可能会暴露serverless.yaml
文件中定义的这些环境变量,但它似乎没有发生。
有没有其他方法可以实现?我正在尝试使用process.env
适用于 lambdas 但不适用于我的独立脚本的变量来访问这些变量。谢谢!
serverless - 未使用 serverless-offline-sqs 触发 Lambda 函数
我正在尝试使用 ElasticMQ 的 Docker 映像和以下 serverless.yml 运行本地设置。但是 serverless-offline-sqs 似乎没有到达 ElasticMQ,因为消息留在队列中并且 Lambda 函数没有触发。
自定义.conf
无服务器.yml
如何使用 Serverless Offline 使其工作?
typescript - 我向无服务器的nestjs发送了一个服务器请求,但没有响应
我正在研究无服务器的nestjs。
我正在尝试使用 serverless-offline 插件离线运行无服务器。
我已经成功离线运行无服务器,但是当我发送服务器请求时它没有响应。
无服务器消息如下所示
执行成功,但没有响应请求。
我向 http://localhost:3000/dev uri 发送了一个请求到默认创建的 Nestjs 中 app.controller 的 hello api。http 方法使用 GET。
我会附上代码,如果您有任何问题,请告诉我。
λ.ts
无服务器.yml
node.js - 无法使用 localhost 访问本地服务器,但可以通过 IP 工作
我正在查看一个本地托管的网站 (React)。我可以通过 IP http://192.168.1.100:3000/(192.168.1.100是我的本地 IP 地址)查看它,但不能通过 http://localhost:3000/ 或http://127.0.0.1:3000/查看
我可以从 node express 服务访问我在 http://localhost:5000/ 的本地托管内容,但我无法从 http://localhost:5050/ 离线访问我的无服务器。
我以前没有遇到过这个问题,从上周开始就没有工作了。你知道需要改变什么吗?
serverless-framework - 如何在本地运行在同一自定义域上配置的多个微服务?
我已经按照这篇文章配置了我的后端: 如何使用 Serverless 在一个 API 域下部署多个微服务
我了解使用无服务器离线插件可以一项一项地部署服务。但是该插件在不同的端口上创建了多个 mini-APIGateways。
我的前端不知道。它假定一切都已部署并准备好在一个端口上使用。
如果我想测试一个需要有效会话的功能,我无法在本地执行此操作,因为我的会话和功能由 2 个不同的服务管理。
只有在我部署了所有更改后,才能在这种情况下进行任何手动测试。这需要很多时间。
有没有办法在单个 API 网关后面的同一个端口上部署所有服务?
go - 从 SQS 事件触发 docker 中的 golang lambda func
useDocker
当使用选项离线启动无服务器时,我无法在事件上启动 SQS 事件 lambda 消费者。如果我不运行 docker 容器中的函数,则该处理程序将成功触发。我正在使用此处的示例(我不是作者)https://github.com/alexyklu/serverless-offline-lambda-with-sqs。将 repo 中的 deps 更改为以下内容:
并且必须将运行时更新为runtime: nodejs12.x
. 像这样启动它:
我被迫使用 docker 方法,因为我的处理程序是一个 golang 函数,据我所知,除了使用 docker 之外,没有其他方法可以使用 golang。任何问题的任何解决方法?
我已经在 sqs 离线插件中发布了上述问题,但老实说,我不确定这是插件、一般离线插件还是我的问题。
scala - 使用 sbt 程序集 + 无服务器找不到 Akka 配置
我正在尝试使用. sbt assembly
如果我使用它编译它sbt assembly
然后使用它运行它,它会起作用serverless invoke local --function func
,但是如果我使用它运行 serverless offline start
它会抛出一个错误,说缺少 akka 的配置。
我的 sbt 文件中已经包含以下内容:
aws-lambda - 使用 serverless-offline 时如何在文件名被散列(--useDocker)时访问本地 lambda 层
我正在使用 --useDocker 标志,它工作得很好,但我不知道我将如何访问该文件,因为结构似乎是这样的:
.serverless-offline/layers/{RANDOM-HASH}/{layer-info}
当我在运行时不知道文件名时,如何访问该图层。
我可以让它工作的唯一方法是首先运行应用程序,然后获取哈希并编辑 require 语句。
serverless - Serverless-Offline 无法命中后端点
我在 serverless.yml 中定义了以下内容:
我可以成功/users/{id}
地从 GET 和 PATCH 端点(/users
我认为这可能与我上面的配置有关,但不确定。