在Elastic Beanstalk和Django中通过SSH运行一次性命令

在Elastic Beanstalk和Django中通过SSH运行一次性命令,django,amazon-web-services,amazon-elastic-beanstalk,Django,Amazon Web Services,Amazon Elastic Beanstalk,我现在正试图解决这个问题,但似乎解决不了。在各种情况下,我希望能够在Elastic beanstalk上运行自定义命令。我想在服务器启动后使用此命令(.ebextensions在此不起作用)。例如 这里的问题是,如果没有设置环境变量,我无法运行任何命令。我的应用程序需要e。gDJANGO\u SECRET\u KEY,RDS\u DB\u NAME。。。开箱即用,这些变量仅在服务器启动时可用。当我通过eb ssh进入EC2实例时,它们不可用-它们也不存在于实例上的虚拟python环境中 我尝试了

我现在正试图解决这个问题,但似乎解决不了。在各种情况下,我希望能够在Elastic beanstalk上运行自定义命令。我想在服务器启动后使用此命令(.ebextensions在此不起作用)。例如

这里的问题是,如果没有设置环境变量,我无法运行任何命令。我的应用程序需要e。g
DJANGO\u SECRET\u KEY
RDS\u DB\u NAME
。。。开箱即用,这些变量仅在服务器启动时可用。当我通过
eb ssh
进入EC2实例时,它们不可用-它们也不存在于实例上的虚拟python环境中

我尝试了:
/opt/elasticbeanstalk/env
中查找包含变量的文件以获取其源代码。但是,对文件的读取权限仅限于
root
用户(我还不知道如何以root用户身份访问服务器)-然而,这感觉非常复杂,而且不直观。我怀疑会有一个更优雅的解决方案


有人已经解决了这个问题吗?

你能在你的应用服务器上实现一个定制的管理API路由,并进行适当的身份验证,从而触发所需的功能吗?然后在相关时间调用该API。是的,我认为这也会起作用。这将解决我最具体的用例。但我认为一般来说,只要能够在服务器中运行基本的Django命令就太棒了。你能在你的应用服务器中实现一个定制的管理API路由,并进行适当的身份验证,从而触发所需的功能吗?然后在相关时间调用该API。是的,我认为这也会起作用。这将解决我最具体的用例。但我认为一般来说,只要能够在服务器中运行基本的Django命令就太棒了。
python manage.py send_pending_emails_via_cronjob