python - AWS Lambda、Python、Numpy 等作为层

标签 python python-3.x pandas amazon-web-services aws-lambda

我一直在尝试将 python、numpy 和 pytz 作为层添加到 AWS Lambda 中,而不是使用我的 .py 文件将其压缩并扔到 AWS 中。我能够遵循多个教程,但都失败了。

如果我要使用 pandas、numpy 或 pytz 来实现任何功能( AWS Lambda with Pandas and NumPy - Ruslan Korniichuk - Medium ),我会遵循本指南。所以这很好,但如果我的功能需要等情况发生变化,我不想每次都重新创建一个 zip。尤其是随着我公司的发展。我们只是尝试使用 Lamba 自动执行一些任务,使用 Cloudwatch 定期运行作业。没什么了不起的,我知道可能有 S3 和其他实例的路线。但是,我已经能够成功地为除 Pandas、Numpy 和 Pytz 之外的其他库创建层。

所以,我担心这种方法的可扩展性。我在 mac 上工作,但我不知道还能做什么:我尝试过使用 Docker,我尝试过从轮子构建。是否有任何可行的教程可以详细解释如何执行此操作?

这是我尝试过的一些教程。是的,这并不意味着我正确地遵循了它们,但最终我没有成功完成其中的大多数:

  • AWS Lambda with Pandas and NumPy - Ruslan Korniichuk - Medium
  • Introduction to Amazon Lambda, Layers and boto3 using Python3
  • Creating New AWS Lambda Layer For Python Pandas Library

  • 你说出它的名字,我可能已经完成了完成这项任务的步骤,尤其是在这些文章中。还有很多 Stack 问题评论,非常有帮助和洞察力。

    提前感谢您的任何建议,只是在这里学习!

    最佳答案

    这可能不是您想听到的答案,但老实说,将某些编译库放入 lambda 层的痛苦足以让我的公司停止使用它们。相反,我们倾向于将 fargate 或 ECS 与 docker 容器一起使用。
    除了为 lambda 编译包的问题外,我们还遇到了 lambda 最大大小的主要问题。我们经常达到这个上限,并且不得不越来越多地删除文件以使其适合。
    更新:AWS 现在允许您从 ECR 中的容器运行 Lambda,这很好地解决了这个问题。

    关于python - AWS Lambda、Python、Numpy 等作为层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60218139/

    相关文章:

    python - 在 Python 的一行中随机选择一个单词?

    python - 删除 Python 中可能存在或不存在的字典属性

    python - 类型注释中未定义名称

    python - Tkinter 警告消息中的 "do not show message again"复选框

    python - 获取数据帧的协方差返回

    python - 使用 numpy 进行包含和精确匹配条件

    python - 错误哈希+盐密码

    python - 在同一程序中使用 Python 2 和 3 库的正确方法(如果有)是什么?

    python-3.x - 无法在 Visual Studio 代码上导入 Tkinter?

    python - Scipy hstack 结果为 "TypeError: no supported conversion for types: (dtype(' float6 4'), dtype(' O'))"