问题标签 [aws-lambda-layers]
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 层性能
AWS Lambda 层在冷启动、运行时或部署/安装时间方面是否有任何可衡量的性能优势,或者主要优势是代码的模块化和共享?
amazon-web-services - AWS Lambda 层的大小是否会影响我的 Lambda 机器的正常运行时间或冷启动?
AWS Lambda 运行时:Python 3.7
我的 Lambda 附带的 Lambda 层解压后的容量接近 200MB。
我想知道这个大容量的 Lambda 层是否会影响 Lambda 机器的正常运行时间或冷启动。
amazon-web-services - pyarrow 作为 lambda 层
我需要帮助才能将 pyarrow 作为我的 lambda 函数的 lambda 层。我正在尝试读/写镶木地板文件,但出现以下错误,“errorMessage”:“无法找到可用的引擎;尝试使用:'pyarrow'、'fastparquet'。\npyarrow 或 fastparquet 是镶木地板支持所必需的”。
我尝试通过使用以下命令在我的 ec2 中安装 pyarrow 来创建层, pip3 install pandas pyarrow -t build/python/lib/python3.7/site-packages/ --system
但是 zip 文件是用 > 300 mb 创建的,因此我不能将它作为 lambda 层。
任何建议或解决方案。
谢谢,
node.js - 在 AWS Lambda (Node.js) 上运行 TensorFlow.js (tfjs-node)
是否可以在 AWS Lambda 上运行 TensorFlow.js(Node.js 版本 - tfjs-node)?我尝试将 tfjs-node 部署为 AWS Lambda 层,但它超出了允许的 256 MB 大小限制。
python - 适用于 Python 函数的 AWS Lambda 层导入
我需要为我的lambda 函数导入pysftp
库。python3.6
我创建了所需的文件夹结构,pip 将库安装到正确的文件夹中并将其压缩。据我所知,这应该可行,或者我错过了什么。顺便说一句,我在 aws Linux ec2 中创建了 layer.zip 并从那里上传。
但是 lambda 函数只是不能导入库。错误消息是:
aws-lambda - 使用 AWS Lambda 层时,我应该更喜欢多层还是具有所有依赖项的单层?
我们在 Node.js (v10.x) 中有几个 AWS Lambda,其中一些具有一些“特定的大”依赖项,这些依赖项并非在所有它们之间共享。例如,我们有一个依赖于firebase-admin
NPM 包的“Authorizer”函数,这是唯一使用它的 Lambda。
为了使其更易于维护,目前我们有一个包含所有依赖项的层。将依赖项拆分为多个层有什么好处吗?我的假设是更大的层会增加“冷启动”时间。但是,相对于层的大小,这个惩罚有多大?我在 AWS 文档中找不到任何关于此的参考。
类似的问题,但跨越不同的语言。如果我们对 Lambda 使用多种语言(例如 Node 和 Python),我可以拥有一个包含两种语言依赖项的 Lambda 层吗?我想这是一个更简单的选择,因为Node.js 代码实际上永远不会使用 Python 依赖项。但是,我想阅读一些 AWS 推荐的管理层的最佳实践。
video - 尝试在 Lambda 上使用 FFMpeg 层对视频进行转码
我正在尝试将.ogv
文件转换为.mp4
使用AWS Lambdaffmpeg
上的层。
我按照Serverless Framework 人员的教程将.mp4
's 转换为GIF
's,效果很好。使用相同的ffmpeg 静态构建(ffmpeg-git-amd64-static.tar.xz) 我开始将.ogv
文件转换为.mp4
文件。
到目前为止,我已经成功地将视频上传到 S3 存储桶,让 Lambda 检索该视频,使用ffmpeg
二进制文件对视频执行某些操作,并将新文件复制到 S3。
问题:
创建的视频将不会播放。
数据点 1:函数生成的文件太小。
输入视频文件1.3MB,输出视频只有256.0KB
数据点 2: 未找到 moov atom。
将生成的视频从 S3 复制到我的本地计算机后,我尝试使用播放ffplay
,但收到此错误:
据我所知,moov atom 应该包含有关.mp4
文件的重要元数据。
执行:
我使用无服务器框架来设置 AWS 基础设施。
以下是ffmpeg
我尝试过的一些不同的命令:
第一次尝试:
第二次尝试:
第三次尝试:
我在 Stack Overflow问题中发现了这种方法,发帖人说它对他有用。
这些作品中的每一个都在我的本地机器上膨胀。
如果我使用的 ffmpeg 二进制文件不是一个流行的二进制文件(我在多个与 Lambda 上的转码有关的网站上看到它),我的猜测是它是层的问题......也许。
任何见解将不胜感激。谢谢你。
ruby - 如何让 AWS lambda 在我的函数中找到 grpc 依赖项?
GRPC 在这里很适合我:
我看到它在vendor/bundle/ruby/2.5.0/gems/grpc-1.27.0-universal-darwin/src/ruby/lib/grpc.rb
我正在编写一个简单的 Ruby 类来连接到 Dialogflow,而 google gem 相当繁重,有很多依赖项。我已经编写了一些测试,这些测试都在本地通过,并且在我从中提取这段代码的 Rails 应用程序的上下文中通过。我需要 Nokogiri,但 Google 似乎是 GRPC 的大用户。当我手动指定时,它只是找不到该文件。任何帮助是极大的赞赏。
spring-boot - 使用 gradle for Java 使用 AWS Lambda 层进行有效开发,用于 Spring Boot 应用程序
我想加快我的 Lambda 开发效率。我想要的最终状态是将我的开发过程分成 2 个不同的构建:
- Lambda 层构建 - 构建我的 Lambda 层,其中包含我的项目的所有依赖项
- 应用程序代码 - 没有所有依赖项的实际应用程序
我很高兴利用serverless framework
与 Lambdas 的集成,但我仍然无法弄清楚如何获取 gradle 而不是构建 FatJar,以拥有一个包含所有依赖项的文件夹/jar,以及只有我的应用程序代码之一。
我在这里试过这个教程,它做了类似的事情:
但我认为spring-dependency
插件搞砸了这种方法,(我正在使用spring-boot
)。有没有人有一个很好的配置设置来做到这一点,我可以利用?
node.js - 使用层的 Lambda 函数
AWS Layer 的新手,尝试使用 Layer 作为我的 Lambda 函数的依赖项。但是敲这个问题"errorType": "Runtime.ImportModuleError"
,有人能指出我的错误吗?
以下是我所做的:
通过 CLI 将我的 Firebase-Admin 依赖项压缩并上传到 Lambda。在 zip 中它包含(node_modules、package-lock.json、pacakage.json)
在我的 Lambda 函数中,我已设置为使用具有通过 AWS GUI 指定的版本的层。
我的 Lambda 函数上的代码
使用空测试用例执行函数
{}
问题如下:
我还尝试将我的 lambda 函数配置为通过 CLI 使用下面的代码行,结果是"LastUpdateStatus": "Successful"