Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Aws lambda 使用pydub和AWS Lambda_Aws Lambda_Pydub - Fatal编程技术网

Aws lambda 使用pydub和AWS Lambda

Aws lambda 使用pydub和AWS Lambda,aws-lambda,pydub,Aws Lambda,Pydub,下午所有- 所以我认为标题确实说明了其中的大部分内容,但接下来就是了。我对AWS和Lambda这片土地还不熟悉,学习这一点很有趣。我正在做一个项目,我想自动合并S3中的两个文件存储。我在AWS()的find People中找到了这个lambda函数,它引用了: 从pydub导入音频段 所以我还没有弄清楚的是,如何在lambda/serverless代码的世界中导入/构建pydub 谢谢 Richard一个选择是将pydub与代码捆绑在一起。我们有类似的情况,我们必须捆绑所有依赖项。难看,但很管用

下午所有-

所以我认为标题确实说明了其中的大部分内容,但接下来就是了。我对AWS和Lambda这片土地还不熟悉,学习这一点很有趣。我正在做一个项目,我想自动合并S3中的两个文件存储。我在AWS()的find People中找到了这个lambda函数,它引用了:

从pydub导入音频段

所以我还没有弄清楚的是,如何在lambda/serverless代码的世界中导入/构建pydub

谢谢


Richard

一个选择是将pydub与代码捆绑在一起。我们有类似的情况,我们必须捆绑所有依赖项。难看,但很管用。

我感觉到你了。我的处境也一样。“我只想连接一些音频文件”受到以下事实的限制:
ffmpeg
ffprobe
的组合大约为150MB。为python添加boto3,您就不会有太多其他东西来压缩今天的250MB Lambda+层组合图像。所以,虽然你可能会在某个时候侥幸逃脱,但一旦你达到了这个硬极限,你就有麻烦了

我认为最好的解决方案是创建一个单独的pydub Lambda函数,其中包含源和目标S3地址+路径的参数。一旦有人这样做,并且它是开源的,您就可以在自己的帐户中部署它,并从特定于应用程序的功能调用它


如果我能做到这一点,我将共享一个链接

我建议按照以下说明将pydub作为Lambda层上传(但在requirements.txt中替代pydub)。如果您在本地运行pydub,则可以查找您正在使用的版本:

import pydub
print(pydub.__version__)
详细说明如下: