我的Heroku应用程序有一个python工作进程。我需要它来更新和添加应用程序的Config Vars,但我不知道该怎么做。使用os.environ可以很容易地读取现有的Config Vars和更新临时值,但这不会导致它们被保存并在heroku.com上我的应用程序的设置页面上可见。
os.environ
xe55xuns1#
代码首先导入heroku库。然后创建一个客户端对象,并将API密钥赋给它。然后从该客户端获取一个应用程序对象,并将其赋给变量app。如果os.environ['HEROKU_CONFIG_VAR_NAME']存在于该应用程序的配置中,则它会将os.environ['HEROKU_CONFIG_VAR_VALUE']赋给配置文件中的该值。否则,如果在此应用程序配置文件中没有定义此类变量名称或值,然后用这些值创建一个新的变量,并将它们保存为名为configvars的变量。该代码用于将app.config文件中的配置变量HEROKU_CONFIG_VAR_NAME设置为os.environ ['HEROKU_CONFIG_VAR_VALUE']。下面的代码将创建一个名为HEROKU_CONFIG_VAR_NAME的新配置变量(如果该变量不存在),并将其值设置为os.environ['HEROKU_CONFIG_VAR_VALUE']。
import os import heroku client = heroku.from_key(os.environ['HEROKU_API_KEY']) app = client.apps[os.environ['HEROKU_APP_NAME']] if os.environ['HEROKU_CONFIG_VAR_NAME'] in app.config: app.config[os.environ['HEROKU_CONFIG_VAR_NAME']] = os.environ['HEROKU_CONFIG_VAR_VALUE'] else: app.config_vars.create(os.environ['HEROKU_CONFIG_VAR_NAME'], os.environ['HEROKU_CONFIG_VAR_VALUE'])
1条答案
按热度按时间xe55xuns1#
代码首先导入heroku库。然后创建一个客户端对象,并将API密钥赋给它。然后从该客户端获取一个应用程序对象,并将其赋给变量app。如果os.environ['HEROKU_CONFIG_VAR_NAME']存在于该应用程序的配置中,则它会将os.environ['HEROKU_CONFIG_VAR_VALUE']赋给配置文件中的该值。否则,如果在此应用程序配置文件中没有定义此类变量名称或值,然后用这些值创建一个新的变量,并将它们保存为名为configvars的变量。该代码用于将app.config文件中的配置变量HEROKU_CONFIG_VAR_NAME设置为os.environ ['HEROKU_CONFIG_VAR_VALUE']。下面的代码将创建一个名为HEROKU_CONFIG_VAR_NAME的新配置变量(如果该变量不存在),并将其值设置为os.environ['HEROKU_CONFIG_VAR_VALUE']。