我使用aws lambda制作无服务器服务。我使用python作为处理程序。问题出现在我的服务将使用的其中一个库中。这个库使用subprocess.Popen()调用git,这会导致错误,因为git在aws lambda中不起作用。该库是我服务的核心,必须使用。所以我想的是每次调用lambda函数时都会在lambda上安装git的场景。 你有没有在lambda上安装过什么东西? (由于错误,yum不会安装)
答案 0 :(得分:0)
完全披露:我还没有在aws lambda上安装任何东西。 docs说你应该能够使用yum来让git工作。如果失败,我会跟他们的支持谈谈。这将是安装它的最简单方法。但是,请查看this document。它基本上说你可以把你需要的二进制文件放在.zip文件中并上传。因此,实现它的方法是在Amazon Linux环境中编译git(启动EC2实例),然后将二进制文件上传到Lambda环境。第三个选项是远程执行git,但我不知道在你的用例中是否可以这样做。
答案 1 :(得分:0)
您可以使用GitPython模块完成所需的操作。 (https://gitpython.readthedocs.io/en/stable/intro.html)。在lambda函数目录的根目录中创建一个requirements.txt文件,并在其中列出您的模块(包括gitpython)。然后运行pip install -r requirements.txt -t。这样它就可以将所有软件包安装到该目录中。然后压缩文件夹并上传到lambda函数。