问题标签 [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.

0 投票
1 回答
743 浏览

node.js - 如何使用无服务器离线将 lambda 的离线跟踪发送到本地 xray 守护程序?

我可以使用无服务器离线本地执行 lambda,我已在 .env 文件中将 AWS_DAEMON_ADRESS 设置为“127.0.0.1:2000”,但正在运行的守护程序正在监听此端口,但不会从执行中接收任何数据。问题是使用在线 lambda 执行的相同代码可以正常工作,并且 xray 服务地图是正确馈送的。我是否错过了离线配置中的某些内容?

这是一个 nodeJS 8.10 lambda,由 localhost:3000 上的 Postman 触发。我尝试直接在 lambda 的函数代码中设置守护程序地址(127.0.0.1),当 sls 收到调用时,它说守护程序地址已配置(使用 .env 变量)。

我已经在 serverless.yml 文件中激活了对 apiGateway 和 lambda 的跟踪,当我将任何内容回显到 /dev/udp/127.0.0.1/2000 时,守护程序会接收信息

我除了本地守护程序从离线 lambda 执行接收一些信息,但没有任何反应

0 投票
1 回答
3790 浏览

npm - 如何在 macOS 中离线配置和使用无服务器?

我正在尝试使用无服务器离线库,使用无服务器框架,
我正确配置了 serverless.yaml 文件,并带有 -

添加到它。

以下是我的 package.json -

我使用以下命令安装软件包 -

也跑了——

并运行sls offlineserverless offline
运行离线模式。

但我收到以下错误 -

我检查了 npm 日志,发现了这个 -

我可以在 ubuntu 上使用 serverless-offline 很好,
但在 Mac 上不能这样做,
有解决方案吗?

0 投票
0 回答
89 浏览

reactjs - 无服务器离线 <> React - 本地开发页面加载

我有一个使用serverless-offline插件并create-react-app加载前端客户端的无服务器应用程序,但我不确定如何配置我的无服务器应用程序以加载index.html页面以及我可以在我的 react 应用程序中使用的正确链接格式调用 serverless-offline 生成的路由。

我知道无服务器应用程序通常使用托管在 S3 上的静态网站和静态链接中的 AWS 无服务器端点来触发处理程序,但我不确定如何在本地环境中复制它。谁能指出我正确的方向?

这是我目前的代码结构:

create-react-app然后我在我的配置文件中设置了一个代理设置为serverless-offline我在我的serverless.yml文件中配置的端口

0 投票
0 回答
672 浏览

node.js - 在 VSCode 中为 Windows 10 上的 webpacked Serverless Node.js 应用程序配置调试

背景与目标

最近我加入了一个使用 VSCode 开发无服务器 Node.js webpack 应用程序的团队。我的目标是能够运行应用程序,以便在 Visual Studio Code 中命中断点。

语境

从下面列出的几篇文章/帖子来看,有两个配置文件需要调整才能实现这一点。launch.json指定从编辑器开始调试时 VSCode 需要执行的操作的文件。以及package.json文件,更具体地说是scripts属性。不幸的是,我无法让它发挥作用。

从我收集的信息来看,用于 Linux 和 Windows 机器的配置存在差异。由于我在 Windows 10 机器上运行,我确实调整了几个设置。

使用的资源:文章帖子 1帖子 2帖子 3

问题

您将在下面找到我设置的设置。不幸的是,应用程序几乎立即在几个 NPM 模块中开始抛出异常。我收到的第一条错误消息来自loader.js文件并且是No such module: constants. 如果我继续,则会触发其他几个错误。目前我不知道为什么会导致这些错误,因为具有正常配置的应用程序可以正常工作。此外,我认为yarn debug似乎运行良好,虽然我不是 100% 肯定。

问题

简而言之,我完全不知道出了什么问题。任何建议和指示将不胜感激。

设置和输出

在出现错误之前,调试控制台会报告已附加调试器并随后调用无服务器命令。

package.json 脚本属性

启动.json

编辑 1

我认为问题在于调试脚本(见下文)没有调用无服务器(离线)。终端未显示正在运行的无服务器(离线),这可能解释了为什么节点无法成功构建解决方案。我将脚本调整为以下内容,但无济于事。作为参考,我已经包含了用于在本地运行它而无需调试的脚本。

0 投票
1 回答
119 浏览

serverless - 无服务器 interlambda 本地通信

我有一个带有 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 调用它)。

0 投票
0 回答
477 浏览

typescript - 由于类型错误,Nodejs Docker 容器中的无服务器 Webpack 构建失败

由于 webpack 构建过程中的类型错误 (TS2322),我的无服务器 (sls) 应用程序无法在 Docker 容器中构建。在本地构建时,没有错误并且应用程序按设计运行。

错误示例:

我认为这可能与分配为的容器的 WORKDIR/app和 webpack.config.js 有关,但我不确定从哪里开始进行故障排除。

背景:

我的无服务器应用程序使用 npm 脚本在本地成功构建:“ export AWS_REGION=us-east-1 && export IS_ON_LOCAL_SERVER=true && export TZ=UTC && sls offline start --stage dev”。当我在 Docker 容器中运行此脚本时,它会在 webpack 构建过程中导致大量类型错误。

我的 Dockerfile(如下)使用 node:10.10 并且我在全球范围内安装无服务器。我也尝试过使用 node:8.16 并且我得到了相同的构建错误(在容器中使用 10.10 我没有得到 npm 警告,因为我使用 8.16 得到了 npm 警告)。

Dockerfile:

码头工人组成:

0 投票
1 回答
255 浏览

python-3.x - 使用 Serverless-offline 插件时,任何 API 路由均无响应

当在 中指定时,我正在使用上面的代码,main.py并且它在serverless.yml. 我想使用serverless-offline插件在本地对其进行测试,但是当我使用 运行离线插件时sls offline,我在浏览器中没有得到任何路由的任何响应。它只是说,localhost didn’t send any data.

我可能做错了什么?离线插件默认监听端口3000

0 投票
1 回答
967 浏览

mysql - 从无服务器离线 lambda 到主机数据库的连接被拒绝

这个问题与 serverless-offline 插件、本地 mysql 数据库连接有关。我的测试场景如下。

  1. 使用 serverless-offline 插件,在我的机器上本地部署了一个 lambda 函数。
  2. 触发的 lambda 无法连接本地数据库。

很可能,serverless-offline 创建了一个 docker 镜像来启动一个 lambda,并且 docker 容器和端口映射中的地址不正确。但是,serverless-offline 不支持这些 docker 选项。我被困在这里,将数据库从本地部署的 lambda 与 serverless-offline 连接起来。

我用于localhost:3306数据库主机,但它不起作用。我尝试端口转发以通过公共 IP 地址连接数据库,但它不起作用。

数据库连接可以以某种方式建立,但连接一直被拒绝。有什么帮助吗?

0 投票
1 回答
2743 浏览

aws-lambda - serverless-offline 基本示例没有列出或可用的路由

我正在按照这个基本示例(https://medium.com/hackernoon/tdd-means-zen-along-with-serverless-means-nirvana-a39a76ee8e63)设置 serverless-offline 以对无服务器项目进行单元测试。

不幸的是,我无法让 serverless-offline 的初始运行正常工作。运行“serverless offline start”后,控制台输出不显示 GET 方法,对 localhost:3000 的请求仅返回“Cannot GET /”。

有什么想法我在这里想念的吗?提前致谢。

我的 serverless.yml:

我的 package.json:

我的 handler.js:

控制台输出:

0 投票
1 回答
2035 浏览

amazon-web-services - 无法使用 aws serverless 离线从另一个 lambda 调用 lambda

我想从 serverless-offline 中的另一个 lambda 调用一个 lambda。我想制作一个无服务器的离线 Web 应用程序。但是我收到了这个错误:

12) 在 C:\Users\gourabkonar\Desktop\sls-demo\node_modules\aws-sdk\lib\state_machine.js:26:10 处请求。(C:\Users\gourabkonar\Desktop\sls-demo\node_modules\aws-sdk\lib\request.js:38:9) 在请求。(C:\Users\gourabkonar\Desktop\sls-demo\node_modules\aws-sdk\lib\request.js:685:12) 在 Request.callListeners (C:\Users\gourabkonar\Desktop\sls-demo\node_modules\ aws-sdk\lib\sequential_executor.js:116:18) 在 Request.emit (C:\Users\gourabkonar\Desktop\sls-demo\node_modules\aws-sdk\lib\sequential_executor.js:78:10) 在 Request .emit (C:\Users\gourabkonar\Desktop\sls-demo\node_modules\aws-sdk\lib\request.js:683:14) 在 Request.transition (C:\Users\gourabkonar\Desktop\sls-demo\ node_modules\aws-sdk\lib\request.js:22:10) 在 AcceptorStateMachine.runTo (C: \Users\gourabkonar\Desktop\sls-demo\node_modules\aws-sdk\lib\state_machine.js:14:12) 在 C:\Users\gourabkonar\Desktop\sls-demo\node_modules\aws-sdk\lib\state_machine .js:26:10 请求。(C:\Users\gourabkonar\Desktop\sls-demo\node_modules\aws-sdk\lib\request.js:38:9) 在请求。(C:\Users\gourabkonar\Desktop\sls-demo\node_modules\aws-sdk\lib\request.js:685:12) 在 Request.callListeners (C:\Users\gourabkonar\Desktop\sls-demo\node_modules\ aws-sdk\lib\sequential_executor.js:116:18) 在 IncomingMessage.onEnd 的 callNextListener (C:\Users\gourabkonar\Desktop\sls-demo\node_modules\aws-sdk\lib\sequential_executor.js:96:12) (C:\Users\gourabkonar\Desktop\sls-demo\node_modules\aws-sdk\lib\event_listeners.js:307:13) 在 IncomingMessage.emit (events.js:203:15) 在 IncomingMessage.EventEmitter.emit (域.js:448:


sls-api-dev-create

sls-api-dev-你好

无服务器.yml

请帮助,任何帮助都会很棒,因为我是无服务器的新手。在此先感谢。