Aws lambda 使用pydub和AWS Lambda
下午所有- 所以我认为标题确实说明了其中的大部分内容,但接下来就是了。我对AWS和Lambda这片土地还不熟悉,学习这一点很有趣。我正在做一个项目,我想自动合并S3中的两个文件存储。我在AWS()的find People中找到了这个lambda函数,它引用了: 从pydub导入音频段 所以我还没有弄清楚的是,如何在lambda/serverless代码的世界中导入/构建pydub 谢谢Aws lambda 使用pydub和AWS Lambda,aws-lambda,pydub,Aws Lambda,Pydub,下午所有- 所以我认为标题确实说明了其中的大部分内容,但接下来就是了。我对AWS和Lambda这片土地还不熟悉,学习这一点很有趣。我正在做一个项目,我想自动合并S3中的两个文件存储。我在AWS()的find People中找到了这个lambda函数,它引用了: 从pydub导入音频段 所以我还没有弄清楚的是,如何在lambda/serverless代码的世界中导入/构建pydub 谢谢 Richard一个选择是将pydub与代码捆绑在一起。我们有类似的情况,我们必须捆绑所有依赖项。难看,但很管用
Richard一个选择是将pydub与代码捆绑在一起。我们有类似的情况,我们必须捆绑所有依赖项。难看,但很管用。我感觉到你了。我的处境也一样。“我只想连接一些音频文件”受到以下事实的限制:
ffmpeg
和ffprobe
的组合大约为150MB。为python添加boto3,您就不会有太多其他东西来压缩今天的250MB Lambda+层组合图像。所以,虽然你可能会在某个时候侥幸逃脱,但一旦你达到了这个硬极限,你就有麻烦了
我认为最好的解决方案是创建一个单独的pydub Lambda函数,其中包含源和目标S3地址+路径的参数。一旦有人这样做,并且它是开源的,您就可以在自己的帐户中部署它,并从特定于应用程序的功能调用它
如果我能做到这一点,我将共享一个链接 我建议按照以下说明将pydub作为Lambda层上传(但在requirements.txt中替代pydub)。如果您在本地运行pydub,则可以查找您正在使用的版本:
import pydub
print(pydub.__version__)
详细说明如下: