问题标签 [serverless]
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 - 如何减小无服务器部署的大小?
我正在使用无服务器框架部署 aws lambda 函数。我的问题是每次执行时都会部署一个大文件sls deploy -f any_fn
(44MB) 。node_modules
当有一个文件夹(可能很大)时,我遇到了类似的问题。
有没有办法通过只上传一次公共文件(并且适用于所有功能)来减少上传大小?因为现在它不断地压缩和部署同一个二进制文件,尽管它从未改变过。
openwhisk - 无法在 ubuntu 上本地设置的 openwhisk 上安装和使用 /whisk.system/alarms
我看到以下错误:
bin/wsk 包获取 --summary /whisk.system/alarms --insecure 错误:无法获取包“警报”:提供的身份验证无权访问此资源。(代码 7320)
我正在使用访客身份验证
(我已经在我的 Ubuntu 16.04 机器上下载了 openwhisk 源代码,并使用 ./gradlew distDocker 安装了它)。
其他功能正在发挥作用:动作、触发器、规则等。
尝试从 github 下载 /whisk.system/alarms,然后运行 installCatalog.sh - 它为 POST 请求提供了 EOF:
~/openwhisk-package-alarms$ ./installCatalog.sh $AUTH_KEY $API_HOST $API_HOST $API_PORT $API_HOST 错误:包更新失败:放https://172.17.0.1:5984/api/v1/namespaces/_/packages/警报?覆盖=真:EOF techie@serverless02:~/openwhisk-package-alarms$
node.js - 使用 Lambda 查询 DynamoDB 中的单个项目
我在 DynamoDB 中有一个存储一些数据的表,分区键 - 用户名 - 存储为 CognitoUser 名称以及用户提供的排序键(排序键是“代码”) - 这些构成主键。
我想查询 DynamoDB 中与主键匹配的单个项目。
这是我的 Lambda 函数;
如果我在这个函数中硬编码“用户名”和“代码”,它会工作并返回正确的数据,但使用上面粘贴的代码会给我一个错误提示;
任何想法如何从 DynamoDB 获取项目而不必将它们硬放入 Lambda 中?
serverless-framework - 无服务器框架 - 在 serverless.yml 中启用 X-Ray
有没有办法从 serverless.yml 为 Lambda 函数启用 X-Ray?我在文件中添加了 X-Ray 权限:
但是高级跟踪仍然需要在 AWS 控制台中手动启用。
lambda - zappa python 3.6 Flask lambda
这是我得到的错误:“{'message': '处理此请求时发生未捕获的异常。您可以使用zappa tail
命令调查此问题。', 'traceback': ['Traceback (last recent call last):\n' , ' File \"/var/task/handler.py\", 第 454 行,在处理程序中\n response = Response.from_app(self.wsgi_app, environ)\n', ' File \"/var/task/werkzeug/ wrappers.py\",第 903 行,在 from_app\n return cls(*_run_wsgi_app(app, environ, buffered))\n','文件\"/var/task/werkzeug/test.py\",第884行,在 run_wsgi_app\n app_rv = app(environ, start_response)\n', \"TypeError: 'NoneType' object is not callable\n\"]}"
我没有主块,因为 lambda 没有进入它。
我在 init.py 中有代码,我的类在另一个文件中。
有人可以帮忙吗?我一无所知,因为这是我第一次尝试 lambda 和 zappa。
这是我的 init.py:
仅供参考 - 上面的代码在本地机器(Vagrant、venv、Python 3.6、Flask)上运行良好。
感谢你的帮助
openwhisk - 无法使用 /whisk.system/alarms/alarm feed 在 ubuntu 本地机器上创建 openwhisk 触发器
我能够成功安装警报系统包,主要是通过链接https://github.com/apache/incubator-openwhisk-package-alarms/issues/51#issuecomment-294010619
所以,我得到以下信息: bin/wsk package get --summary /whisk.system/alarms --insecure package /whisk.system/alarms:警报和定期实用程序(参数:*apihost、*cron、*trigger_payload)提要/ Whisper.system/alarms/alarm:发生警报时触发(参数:未定义)
动作、触发器、规则等功能正在我的本地 openwhisk 安装上运行。
我正在运行以下命令来创建触发器: bin/wsk trigger create convertTriggerPeriodic --feed /whisk.system/alarms/alarm -p cron "*/9 * * * * *" -p trigger_payload "{\"name \":\"Odin\",\"place\":\"Asgard\"}" -p maxTriggers 6 --insecure
它正在运行触发器两次。每次都报错: "error": "There was an error processing your request." 然后它正在删除触发器。
因此,我无法将规则/操作与触发器相关联。
amazon-web-services - 如何使用 serverless-domain-manager 插件根据阶段设置不同的域?
我正在尝试使用serverless-domain-manager
插件在无服务器中设置不同的自定义域。
我遵循了本教程: https ://serverless.com/blog/serverless-api-gateway-domain/
但该示例并未显示如何设置多个自定义域。
在我的serverless.yml
文件中,我有:
如何添加另一个域?例如,对于prod
舞台?
serverless-framework - Serverless.yml 拒绝 cloudformation “Ref”函数
这是我的 serverless.yml 文件中的一个片段:
这是我收到的错误:
此模板在 cloudformation 中用于创建堆栈时效果很好。为什么 !Ref 被 serverless.yml 拒绝?
amazon-web-services - 无服务器如何在 aws 中调用
我是整个无服务器框架的新手。我创建了我的第一个无服务器函数,如此处所述https://www.npmjs.com/package/serverless#quick-start。接下来,当我执行“无服务器调用”时,它会起作用。我很困惑这是如何工作的,我对此的问题是
- 似乎没有创建 API 网关,那么它如何调用?
- serverless.yml 文件中还提到了阶段,我不确定这些转换为什么
对此的任何帮助都将受到高度赞赏。
node.js - 使用 Node.js 使用 AWS Lambda 函数访问 Postgres 数据库
我的“handler.js”函数连接到 Postgres 数据库并使用 node.js 执行一些查询。我的函数在本地成功运行,但是当作为 AWS lambda 访问时,查询不起作用。
我还在“serverless.yml”中添加了相应的 vpc 安全组和子网 ID。
'Cloudwatch' 中的错误日志仅显示查询前后的 console.log 语句,并且函数因超时错误而终止。我无法弄清楚这个问题。
我在下面附上了示例“handler.js”代码: