如何在 AWS 中设置 lambda 函数来安装某些包和依赖项
How do I set up a lambda function in AWS to install certain packages and dependencies
我知道有部署包,但这些是什么?它们可以包含执行 apt-get 安装的 bash 脚本吗?
有什么方法可以构建使用特定 AMI 的 lambda 函数
您可以从您的代码中 运行 shell 命令(因此从技术上讲您可以 运行 shell 脚本)但是您需要为 Lambda 花费的时间付费执行 - 因此每次 Lambda 启动时安装一堆依赖项将被视为反模式。
您需要将所有包和依赖项与您的 Lambda 捆绑在一起。这是通过上传包含 lambda 函数和所有依赖项的 zip 文件来完成的。
您可以在此处查看各种支持语言的官方文档:
http://docs.aws.amazon.com/lambda/latest/dg/nodejs-create-deployment-pkg.html
http://docs.aws.amazon.com/lambda/latest/dg/lambda-java-how-to-create-deployment-package.html
http://docs.aws.amazon.com/lambda/latest/dg/lambda-python-how-to-create-deployment-package.html
我认为您正在寻找类似 lambda-uploader 的内容。您可以列出 lambda 所需的 python 包。如果您遇到一个包需要几个库文件才能 运行,您也可以包含它们。例如,mysql-python 包需要 libmysqlclient.so 和 _mysql.so 文件到 运行 正确。
它会为您生成 .zip 文件并在上传后将其删除。这样,您可以避免手动打包步骤并使部署变得轻而易举。
我知道有部署包,但这些是什么?它们可以包含执行 apt-get 安装的 bash 脚本吗?
有什么方法可以构建使用特定 AMI 的 lambda 函数
您可以从您的代码中 运行 shell 命令(因此从技术上讲您可以 运行 shell 脚本)但是您需要为 Lambda 花费的时间付费执行 - 因此每次 Lambda 启动时安装一堆依赖项将被视为反模式。
您需要将所有包和依赖项与您的 Lambda 捆绑在一起。这是通过上传包含 lambda 函数和所有依赖项的 zip 文件来完成的。
您可以在此处查看各种支持语言的官方文档:
http://docs.aws.amazon.com/lambda/latest/dg/nodejs-create-deployment-pkg.html
http://docs.aws.amazon.com/lambda/latest/dg/lambda-java-how-to-create-deployment-package.html
http://docs.aws.amazon.com/lambda/latest/dg/lambda-python-how-to-create-deployment-package.html
我认为您正在寻找类似 lambda-uploader 的内容。您可以列出 lambda 所需的 python 包。如果您遇到一个包需要几个库文件才能 运行,您也可以包含它们。例如,mysql-python 包需要 libmysqlclient.so 和 _mysql.so 文件到 运行 正确。
它会为您生成 .zip 文件并在上传后将其删除。这样,您可以避免手动打包步骤并使部署变得轻而易举。