【问题标题】:Heroku app id within the application environment应用程序环境中的 Heroku 应用程序 ID
【发布时间】:2020-09-02 19:47:08
【问题描述】:

是否可以在应用环境中检索应用id(app123@heroku.com)?

我知道,我可以手动设置配置变量,但我认为 Heroku 可能会公开此类信息?

【问题讨论】:

  • 不,这是不可能的。如果你告诉我们你实际上想要做什么,可能会有办法。
  • 我问这个问题,因为应用程序 id 是不变的,名称可以改变。所以我想为 heroku api 编写可重用的代码,不需要设置(使用 app id 设置配置变量)。
  • @jacob:我们如何找到 app123@heroku.com
  • 请检查您是否可以在这里提供帮助stackoverflow.com/q/62796668/7302526

标签: ruby-on-rails heroku


【解决方案1】:

如果您安装了 SendGrid 或 Memcache 等插件,则可以访问其中一个插件的用户名的环境变量。例如,如果您使用的是 Ruby,您可以登录控制台并输出 ENV['SENDGRID_USERNAME'] 或 ENV['MEMCACHE_USERNAME'] 的值。从那里提取应用程序 ID 很容易。我不确定还有哪些附加组件也会在环境变量中公开该值,但您可以输出整个 ENV 全局哈希并找出可用的内容。

【讨论】:

    【解决方案2】:

    我使用 Jared 的解决方案已经一年多了。 今天我遇到了一个问题,ENV['SENDGRID_USERNAME'] 还没有出现(在部署期间)。

    Heroku 建议自己为此设置一个 config var,所以我设置:

    heroku config:add APP_NAME=<myappname> --app <myappname>
    

    并启用lab feature,允许您在编译期间使用它们

    heroku labs:enable user-env-compile -a myapp
    

    现在我的应用名称在这里可用:

    ENV["APP_NAME"] # '<myappname>'
    

    所以我不会再遇到这个问题,虽然我想从 Heroku 获取这种信息集。

    【讨论】:

      【解决方案3】:

      这直接来自我与 Heroku 的支持票:

      您无法自己检索该值。这是 SendGrid 支持要求只有 Heroku 支持才能提供给他们的值。

      因此,您需要通过 support ticket 向 Heroku 询问

      更新

      有点矛盾的是,我发现我可以通过运行来访问我的 Heroku 应用 ID:

      heroku config:get SENDGRID_USERNAME
      app171441466@heroku.com
      

      【讨论】:

        猜你喜欢
        • 2012-10-09
        • 1970-01-01
        • 1970-01-01
        • 2020-10-30
        • 2021-09-13
        • 1970-01-01
        • 2020-12-30
        • 2021-06-01
        • 2021-07-16
        相关资源
        最近更新 更多