是否可以在应用程序环境中检索应用程序 ID(app123@heroku.com)?
我知道,我可以手动设置一个配置变量,但我认为 Heroku 可能会公开这些信息?
是否可以在应用程序环境中检索应用程序 ID(app123@heroku.com)?
我知道,我可以手动设置一个配置变量,但我认为 Heroku 可能会公开这些信息?
如果您安装了 SendGrid 或 Memcache 之类的附加组件,则可以访问这些附加组件之一的用户名的环境变量。例如,如果您使用 Ruby,您可以登录控制台并输出 ENV['SENDGRID_USERNAME'] 或 ENV['MEMCACHE_USERNAME'] 的值。从那里提取应用程序 ID 很容易。我不确定哪些其他附加组件也会在环境变量中公开该值,但您可以输出整个 ENV 全局哈希并找出可用的内容。
我使用 Jared 的解决方案一年多了。今天我遇到了一个ENV['SENDGRID_USERNAME']
尚未出现的问题(在部署期间)。
Heroku 建议自己为此设置一个 config var,所以我设置:
heroku config:add APP_NAME=<myappname> --app <myappname>
并启用允许您在编译期间使用它们的实验室功能
heroku labs:enable user-env-compile -a myapp
现在我可以在这里找到我的应用名称:
ENV["APP_NAME"] # '<myappname>'
所以我不会再遇到这个问题了,尽管我想从 Heroku 获得这种信息集。
这直接来自我对 Heroku 的支持票:
您无法自己检索该值。这是 SendGrid 支持要求只有 Heroku 支持才能提供给他们的值。
因此,您需要通过支持票向 Heroku 询问
有点矛盾的是,我发现我可以通过运行以下命令访问我的 Heroku 应用程序 ID:
heroku config:get SENDGRID_USERNAME
app171441466@heroku.com