问题标签 [serverless-framework]
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 - 将端点添加到无服务器 CLI 生成的函数
我是 Serverless ( www.serverless.com ) 和学习 CLI 的新手。
我在为函数创建 POST、PUT 或 DELETE 端点时遇到问题。在查看文档时,我使用以下内容创建了一个函数:
这很好用,生成的 s-function.json 自动添加了一个“GET”端点。我想要的是能够在某些功能上添加“PUT”、“POST”或“DELETE”端点。
从文档中看起来我可以使用端点部署,但是我尝试了这个并且它不起作用:
这个错误表明不存在这样的端点名称(我假设因为它不在 s-function.json 文件中)。
我是否需要手动编码 s-function.json 文件以包含其他端点,或者有没有办法通过 CLI 做到这一点?
谢谢你的帮助!
node.js - 如何检查 Openwhisk (IBM Cloud Functions) 是否被调用?
我有一个将数据上传到 Cloudant 数据库的 Web 应用程序。更改事件应触发 OpenWhisk / IBM Cloud Functions 激活或操作。如何检查是否调用了 OpenWhisk,是否有调试机制?我尝试使用仪表板,但有什么可以在命令行上使用的吗?
我正在试验 node.js 和 Docker 操作,所以如果解决方案独立于操作是在 node.js、Swift 还是 Docker 容器中,那就太好了。
amazon-web-services - requestParameters 返回“指定的映射表达式无效:true”
我正在配置 lambda 函数的 API 网关与无服务器框架版本 0.4.2 的集成。
我的问题是定义端点的请求参数。API 网关条目的AWS 文档说:
请求参数
表示 Amazon API Gateway 可以接受的请求参数。请求参数表示为键/值映射,源作为键,布尔标志作为值。布尔标志用于指定参数是否是必需的。源必须匹配模式 method.request.{location}.{name},其中 location 是查询字符串、路径或标头。name 是一个有效的、唯一的参数名称。此处指定的源可用于集成以映射到集成请求参数或模板。
据我了解,中的配置s-function.json
直接提供给 AWS CLI,因此我指定了以下格式的请求参数:
"method.request.querystring.startYear": true
. 但是,我收到一个Invalid mapping expression specified: true
错误。我也尝试过指定配置,"method.request.querystring.startYear": "true"
结果相同。
s-function.json
:
有任何想法吗?提前致谢!
node.js - 为 AWS Lambda 和无服务器推荐什么本地节点版本
从 AWS-Lambda 和无服务器框架开始,我对节点版本感到困惑:
AWS 帮助网站说(2016 年 3 月 21 日)
AWS Lambda 支持以下运行时版本:
Node.js:v0.10.36
所以我确实在我的本地机器上安装了 Node.js v0.10.36。通过安装最新的(v 0.4.2)无服务器框架
它给出以下警告:
npm WARN 引擎 serverless@0.4.2: 想要: {"node":">=4.0"} (当前: {"node":"0.10.36","npm":"1.4.28"})
我认为在本地拥有与 AWS 相同的版本可能有助于拥有一致的开发环境......我错了吗?我应该在本地运行什么 Node.js 版本才能充分利用无服务器?
aws-lambda - 在无服务器框架命令行中使用输入参数运行 lambda 函数
我在无服务器框架的帮助下开始了一个 aws 项目,但我有一个关于运行 lambda 函数的问题。
如何使用输入参数运行 lambda 函数?我可以通过亚马逊控制台、lambda 测试配置-> 测试事件来完成。但是我在无服务器中找不到相应的功能,有人知道吗?
谢谢
serverless-framework - 部署时无服务器入门演示错误
我正在按照无服务器快速入门演示https://github.com/serverless/serverless-starter的说明进行操作
我得到一个错误serverless dash deploy
我做错了什么——这似乎是一个基本的演练。
json - 如何将 JSON 字符串作为查询参数传递给 API Gateway
如何将 JSON 对象{val: 1}
作为查询参数传递给我的 Lambda 函数?
遵循将 JSON 序列化为查询字符串的标准化方法?我对我的 JSON 对象进行 URL 编码并请求以下内容:mysite.com/path?json=%7B%22val%22%3A%201%7D
作为requestTemplates我尝试了以下两个选项
"json": "$input.params().querystring.json"
"json": "$util.parseJson($input.params().querystring.json)"
但我收到了这个错误信息:
{“消息”:“无法将请求正文解析为 json:意外字符(\'v\'(代码 118)):在 [Source: [B@37a2970e; line: 1,列:47]"}
如果我不对查询字符串进行编码,则:mysite.com/path?json={"val":1}
我收到 400 错误
amazon-web-services - AWS 无服务器项目不能通过 Git 共享?
s-function.json
需要那个变量"customRole": "${myLambdaRole}",
但是,如果其他人通过我serverless project
的方式获得了该文件夹,git clone
则他不会获得该_meta
文件夹。
现在他serverless project init
跟在同一个舞台和同一个区域。这会创建_meta
文件夹,但它不会s-variables-common.json
使用Output Variables
from填充s-resources-cf.json
。
现在他尝试部署serverless dash deploy
错误
不幸serverless resources deploy
的是,即使打电话也不能解决问题,因为它说
并且s-variables-common.json
仍然没有填充必要的输出变量。
这基本上意味着在通过Git
.
因此,由于我们不想将_meta
文件夹签入Git
,我建议serverless project init
调用应确保所有Output Variables
文件都正确获取并填充到s-variables-common.json
.
这很重要,或者你们如何通过“Git”共享项目?
aws-lambda - 本地测试中的无服务器变量
serverless 提供了一个很好的工作流程,可以在运行时函数代码以及 Lambda 函数和 API Gateway 路由的 AWS 配置中使用变量。这在http://docs.serverless.com/docs/templates-variables和How to define variables in a DRY way 中有描述。
当我在本地使用sls function run -s stage
. 当我通过包含该选项在 Lambda 上运行测试时,该函数运行良好-d
,但没有它会失败,因为尚未分配必要的变量。serverless 提供以下消息:
我正在使用链接2中描述的 DRY 变量。具体来说:
s-变量-aguldman-useast1.json:
函数/fn1/s-function.json:
函数/fn1/handler.js:
有什么建议吗?
谢谢!
amazon-web-services - 如何使用无服务器创建 API 密钥并将其分配给创建的阶段 API?
我想使用无服务器创建一个安全的 APIG,在我当前的“ s-fction.json ”中我已经拥有:
在我的“ s-resources-cf.json ”中,我已经有了:
它正确地创建了所有,一个 Lambda,一个用于该 lambda 的 APIG(包括 CORS)和 API 密钥,但我需要手动将密钥“分配”给生成的 APIG-Stage,你对我该怎么做有任何想法吗?自动使用无服务器?
我已经从这里阅读了关于我想要的功能的 AWS 文档(而且似乎是可能的):AWS CloudFormation API Key
该文档显示它可以通过以下方式完成:
但我不知道如何添加对无服务器自动创建的 APIG 的引用以及如何等待该 APIG 被创建。