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

0 投票
1 回答
974 浏览

amazon-web-services - AWS Lambda 层性能

AWS Lambda 层在冷启动、运行时或部署/安装时间方面是否有任何可衡量的性能优势,或者主要优势是代码的模块化和共享?

0 投票
2 回答
757 浏览

amazon-web-services - AWS Lambda 层的大小是否会影响我的 Lambda 机器的正常运行时间或冷启动?

AWS Lambda 运行时:Python 3.7

我的 Lambda 附带的 Lambda 层解压后的容量接近 200MB。

我想知道这个大容量的 Lambda 层是否会影响 Lambda 机器的正常运行时间或冷启动。

0 投票
1 回答
2066 浏览

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 层。

任何建议或解决方案。

谢谢,

0 投票
2 回答
776 浏览

node.js - 在 AWS Lambda (Node.js) 上运行 TensorFlow.js (tfjs-node)

是否可以在 AWS Lambda 上运行 TensorFlow.js(Node.js 版本 - tfjs-node)?我尝试将 tfjs-node 部署为 AWS Lambda 层,但它超出了允许的 256 MB 大小限制。

0 投票
1 回答
254 浏览

python - 适用于 Python 函数的 AWS Lambda 层导入

我需要为我的lambda 函数导入pysftp库。python3.6

我创建了所需的文件夹结构,pip 将库安装到正确的文件夹中并将其压缩。据我所知,这应该可行,或者我错过了什么。顺便说一句,我在 aws Linux ec2 中创建了 layer.zip 并从那里上传。

但是 lambda 函数只是不能导入库。错误消息是:

0 投票
1 回答
1334 浏览

aws-lambda - 使用 AWS Lambda 层时,我应该更喜欢多层还是具有所有依赖项的单层?

我们在 Node.js (v10.x) 中有几个 AWS Lambda,其中一些具有一些“特定的大”依赖项,这些依赖项并非在所有它们之间共享。例如,我们有一个依赖于firebase-adminNPM 包的“Authorizer”函数,这是唯一使用它的 Lambda。

为了使其更易于维护,目前我们有一个包含所有依赖项的层。将依赖项拆分为多个层有什么好处吗?我的假设是更大的层会增加“冷启动”时间。但是,相对于层的大小,这个惩罚有多大?我在 AWS 文档中找不到任何关于此的参考。

类似的问题,但跨越不同的语言。如果我们对 Lambda 使用多种语言(例如 Node 和 Python),我可以拥有一个包含两种语言依赖项的 Lambda 层吗?我想这是一个更简单的选择,因为Node.js 代码实际上永远不会使用 Python 依赖项。但是,我想阅读一些 AWS 推荐的管理层的最佳实践。

0 投票
2 回答
2388 浏览

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 上的转码有关的网站上看到它),我的猜测是它是层的问题......也许。

任何见解将不胜感激。谢谢你。

0 投票
1 回答
267 浏览

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 的大用户。当我手动指定时,它只是找不到该文件。任何帮助是极大的赞赏。

0 投票
0 回答
732 浏览

spring-boot - 使用 gradle for Java 使用 AWS Lambda 层进行有效开发,用于 Spring Boot 应用程序

我想加快我的 Lambda 开发效率。我想要的最终状态是将我的开发过程分成 2 个不同的构建:

  • Lambda 层构建 - 构建我的 Lambda 层,其中包含我的项目的所有依赖项
  • 应用程序代码 - 没有所有依赖项的实际应用程序

我很高兴利用serverless framework与 Lambdas 的集成,但我仍然无法弄清楚如何获取 gradle 而不是构建 FatJar,以拥有一个包含所有依赖项的文件夹/ja​​r,以及只有我的应用程序代码之一。

我在这里试过这个教程,它做了类似的事情:

但我认为spring-dependency插件搞砸了这种方法,(我正在使用spring-boot)。有没有人有一个很好的配置设置来做到这一点,我可以利用?

0 投票
1 回答
463 浏览

node.js - 使用层的 Lambda 函数

AWS Layer 的新手,尝试使用 Layer 作为我的 Lambda 函数的依赖项。但是敲这个问题"errorType": "Runtime.ImportModuleError",有人能指出我的错误吗?

以下是我所做的:

  1. 通过 CLI 将我的 Firebase-Admin 依赖项压缩并上传到 Lambda。在 zip 中它包含(node_modules、package-lock.json、pacakage.json)

  2. 在我的 Lambda 函数中,我已设置为使用具有通过 AWS GUI 指定的版本的层。

我的 Lambda 函数上的代码

  1. 使用空测试用例执行函数{}

  2. 问题如下:

我还尝试将我的 lambda 函数配置为通过 CLI 使用下面的代码行,结果是"LastUpdateStatus": "Successful"