问题标签 [serverless-plugins]
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.
amazon-web-services - 如何从 AWS Lambda 函数 + 无服务器框架的 URL 中删除阶段?
我正在使用无服务器框架在 AWS Lambda 中部署函数,但我找不到从创建的 URL 端点中删除阶段说明符的位置/方式。文档似乎没有涵盖这部分。
例如,这是我的serverless.yml
(省略了不相关的部分):
a 之后serverless deploy
,返回如下服务信息:
请注意/dev
URL 端点中的部分,以及函数中的部分。这是配置文件dev
中参数的默认值。stage
stage: something
在serverless.yml
文件中指定将/something
在 URL 中作为后缀,并作为函数的一部分。
问题:如何从生成的 URL 端点中删除阶段规范,或者:如何防止该阶段规范成为生成的 URL 的一部分?
(阶段是函数的一部分,这很好。这将很容易在 AWS Lambda 仪表板中分离staging
和函数。)production
amazon-web-services - 带有可选字段的 serverless-aws-documentation 模型定义?
我想定义请求和响应模型。我将无服务器框架与 AWS 一起使用,我看到的所有内容都建议使用serverless-aws-documentation
自述文件说我需要在其中加入这一行custom.documentation.models.MODELNAME
但是他们没有models/error.json
用作基准的示例文件。
在实际示例serverless.yml中,它们的定义如下:
这没有为我正在尝试做的事情提供足够的细节。
我的目标是为字符串对象数组、消息和状态码定义一个模式。但是,消息和状态代码是可选的。这些也可能是其他模型的一部分,如果可能的话,我不想对每个模型重复它们的定义。
我目前的尝试是:
我认为这会做我想做的事,但我怎么能拥有message
并且statusCode
是可选的并在我的其他模型中重复这两个项目?
我对可以放入 serverless.yml 文件的 yml 解决方案或可以引用的 json 文件感到满意。
amazon-web-services - 无服务器框架 AWS 403 仅域的禁止错误
我正在为一个项目进行无服务器设置并遇到一个奇怪的错误。在我不得不删除旧证书并制作新证书之前,这一切正常。
简而言之,我正在关注 serverless-stack.com 上的教程系列以供参考,并且在运行apig-test
命令时出现以下错误。
这对我来说是政策错误。所以我去检查我的策略以确保它允许执行 AuthRole 并且确实如此。我在角色下的 IAM 部分验证了这一点,并查看了我在设置 Cognito 时创建的服务 Auth_Role。
我不想在这里提供过多的信息,但是如果有人对下一步看哪里有任何想法,我将不胜感激,我会在此处提供您想看到的任何细节。
我要注意的一件事是,如果我使用指向 Lambda 函数而不是我的域的直接 URL 运行 apig-test 命令,它工作得非常好。
这证明我的代码没有问题,但更多的是关于我如何设置域的策略设置。
我相应地运行了 sls create_domain ,我看到了 Route53 和 API 网关中的条目,它们在几个小时前已经完成了 40 分钟。自从我消灭了另一个证书后,我就使用正确的证书为其投保了。
我的自定义域过去一直有效,这要归功于我在这里找到的插件和本教程(https://serverless.com/blog/serverless-api-gateway-domain/),直到最近我意识到我才停止工作需要向我的 SSL 证书添加更多域。
所以我认为政策错误在这附近,但不知道在哪里看?
serverless-framework - 无服务器部署未获取 AWS 凭证
在 PowerShell 上,我定义了两个环境变量来定义 AWS 密钥和访问密钥:
为什么无服务器会选择我的凭据?
node.js - TypeError:路径必须是字符串。收到未定义
使用带有单元测试模块的serverless
框架时serverless-offline
出现持续错误。jest
我正在尝试使用serverless-jest-plugin
应该集成jest
在serverless
. 以下是我的jest
配置serverless.yml
:
我有一个 lambda 函数,它使用 dynamoDB 来获取一些数据等。
每当我使用时sls invoke test
,我都有以下内容:
我正在运行以下内容package.json
:
干杯。
node.js - Node.js 无服务器脱机在第一次请求后挂起
当我第一次发出请求时它工作正常,但是当我再次发出请求而不重新启动服务器时,它会超时并返回一些承诺错误
serverless-framework - serverless-dynamodb-local web shell 错误
第一次尝试无服务器框架。
我正在尝试使用本地 web shell 进行一些检查。
但意识到我无法列出表格或显示记录列表。
网页外壳示例:
上述命令会引发状态码413
错误。
但aws cli
工作正常:aws dynamodb scan --table-name=stocks-table-dev --endpoint-url='http://localhost:8000'
我用命令启动 web shell sls dynamodb start
。
在此之前,我使用以下命令安装插件:
npm install --save-dev serverless-dynamodb-local
sls dynamodb install
我是否应该使用 web shell 进行检查?
是否需要进行一些配置才能使 web shell 正常工作?
node.js - 无法使用阿里云函数计算 Serverless 插件创建新函数
我正在遵循本指南:Aliyun Function Compute Serverless Plugin尝试使用Serverless Framework以及Aliyun Function Compute Serverless Plugin在阿里云函数计算下创建具有新 Node.js 无服务器功能的新服务。
但是,在我执行完serverless deploy
命令后,我只能在阿里云函数计算控制台中看到一个没有创建任何函数的新服务,这不是我所期望的。
在部署过程中我没有看到任何错误。
有没有人对此有任何经验和解决方案?非常感谢!
serverless.yml 如下图所示:
serverless-framework - 使用 serverless-dotenv-plugin 更正 .env 文件
我使用以下作为自定义serverless-dotenv-plugin
插件配置:
custom:
dotenv:
path: .env-${opt:stage, 'local'}
但是我真正想要得到的是,.env
当我不提供参数时从文件加载环境,.env.staging
当我staging
用作 CLI 参数时从文件加载环境。
我不知道这如何反映在path
上面。请问有什么帮助吗?
amazon-web-services - node8.10中的无服务器Lambda部署不上传任何代码
我有一个使用无服务器部署的 lambda 函数。它是使用node6.10
运行时部署的,因此我决定改为使用运行时重新部署服务node8.10
。
但是,在进行此重新部署后,我遇到了一个奇怪的问题,即我无法调用该函数并且由于文件大小太大(60mb+)而无法再部署对该函数的更新。我能够通过卸载并重新安装来解决此问题serverless-plugin-optimize
。
这解决了文件大小问题(现在大约 2mb),但我仍然无法调用该函数。尝试调用它会在 CloudWatch 中产生以下日志:
我当时的期望是我serverless.yml
的函数中的文件路径是错误的,或者它没有正确导出。
./serverless.yml
./lambda/index.js
然而,情况似乎并非如此,我知道这一点是因为设置debug: true
了带有我的缩小代码serverless-plugin-optimize
的_optimize
文件夹。然而,尽管它存在于本地,但它似乎并没有上传到 Lambda。
在 AWS 控制台中查看此内容,我得到以下信息:
Lambda 目录中列出的 2.6mb 上传:
我无法解释为什么我会遇到这个问题,或者切换到node8.10
会导致什么。在文件之外,serverless.yml
没有任何代码从工作node6.10
版本更改。有没有人遇到过这个问题或知道任何可以解决它的方法?