我知道有部署包但这些是什么?它们是否可以包含执行apt-get install的bash脚本?
有没有办法构建使用特定AMI的lambda函数
答案 0 :(得分:3)
您可以从代码中运行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
答案 1 :(得分:1)
我认为您正在寻找类似lambda-uploader的内容。您可以列出lambda所需的python包。如果遇到需要运行几个库文件的程序包,也可以包含它们。例如, mysql-python 包需要 libmysqlclient.so 和 _mysql.so 文件才能正常运行。
它会为您生成.zip文件,并在上传后将其删除。这样,您可以避免手动打包步骤,并使部署变得轻而易举。