Heroku 在AWS Elastic Beanstalk上运行特别脚本

Heroku 在AWS Elastic Beanstalk上运行特别脚本,heroku,amazon-elastic-beanstalk,Heroku,Amazon Elastic Beanstalk,我正在尝试在AWS Elastic Beanstalk上部署一个Flask应用程序。我需要临时运行自定义Python脚本。我以前使用过Heroku,在那里,我需要做的就是使用Heroku工具带发出以下命令: 赫罗库·多斯塔夫 其中doStuff是我的Python模块的名称 是否可以使用AWS Elastic Beanstalk中的eb工具实现这一点 或者,我假设我必须SSH到运行应用程序的EC2实例中,并直接在那里运行命令。如果是这种情况,我将在EC2实例的何处找到我的应用程序的文件 谢谢看起来

我正在尝试在AWS Elastic Beanstalk上部署一个Flask应用程序。我需要临时运行自定义Python脚本。我以前使用过Heroku,在那里,我需要做的就是使用Heroku工具带发出以下命令:

赫罗库·多斯塔夫

其中doStuff是我的Python模块的名称

是否可以使用AWS Elastic Beanstalk中的eb工具实现这一点

或者,我假设我必须SSH到运行应用程序的EC2实例中,并直接在那里运行命令。如果是这种情况,我将在EC2实例的何处找到我的应用程序的文件


谢谢

看起来您必须使用SSH并运行脚本。 您部署的应用程序版本可在此处找到:/opt/python/current

另一个选择是在你的flask应用程序中有一个定制的(可能是秘密的)URL映射到这个URL。当您点击URL时,将执行所需的命令

另一方面,如果在应用程序部署/服务器重新启动时需要脚本,则可以使用.ebextensions:


在这里,您可以设置在运行应用程序代码之前要运行的各种操作。

谢谢。我还有一个问题,就是无法使用需求文件安装Scipy和Numpy。我的想法是SSH到EC2实例中,并使用yum命令安装它。不过,我的Flask应用程序似乎正在EC2上的虚拟环境中运行。我现在安装了Scipy,但我的Flask应用程序可以找到它。您知道如何在虚拟环境中使用yum命令安装Scipy(和其他软件包)吗?@Johan,您可以通过.ebextensions执行此操作。在这里,您可以在应用程序/服务器启动时运行任何命令。您可以在此处使用yum命令并安装所需的任何内容。