【问题标题】:Using pydub and AWS Lambda使用 pydub 和 AWS Lambda
【发布时间】:2020-05-07 20:57:32
【问题描述】:

下午所有 -

所以我认为标题确实说明了大部分内容,但在这里。我是 AWS 和 Lambda 领域的新手,学习这一点很有趣。我正在做一个项目,我想自动合并 S3 中的两个文件存储。我从 AWS (https://github.com/aws-samples/chime-voiceconnector-agent-assist/blob/master/infrastructure/function/src/retrieveMergedAudioUrl/lambda_function.py) 的查找人员那里找到了这个 lambda 函数,它引用了:

从 pydub 导入 AudioSegment

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

谢谢,

理查德

【问题讨论】:

    标签: aws-lambda pydub


    【解决方案1】:

    一种选择是将 pydub 与代码捆绑在一起。我们有类似的情况,我们必须捆绑所有依赖项。丑陋但有效。

    【讨论】:

      【解决方案2】:

      我建议按照这些说明将 pydub 作为 Lambda 层上传(但在 requirements.txt 中添加 pydub)。如果你在本地运行 pydub,你可以查看你使用的是哪个版本:

      import pydub
      print(pydub.__version__)
      

      完整说明在这里:https://medium.com/@qtangs/creating-new-aws-lambda-layer-for-python-pandas-library-348b126e9f3e

      【讨论】:

        【解决方案3】:

        我感觉到你了。我处于同样的位置。 “我只想连接一些音频文件”受限于 ffmpegffprobe 加起来约为 150MB 的事实。为 python 添加 boto3 后,您就无需再挤进今天 250MB 的 Lambda+layer 组合图像了。因此,虽然您可能会在某个时候侥幸逃脱,但一旦达到硬性限制,您就有麻烦了。

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

        如果我能做到这一点,我会分享一个链接。

        【讨论】:

          猜你喜欢
          • 2020-11-04
          • 2021-04-19
          • 1970-01-01
          • 2018-02-22
          • 2021-09-19
          • 2018-11-27
          • 1970-01-01
          • 2021-05-15
          • 2018-08-06
          相关资源
          最近更新 更多