アプリケーション環境内でアプリ ID (app123@heroku.com) を取得することはできますか?
構成変数を手動で設定できることは知っていますが、そのような情報は Heroku によって公開される可能性があると考えました。
アプリケーション環境内でアプリ ID (app123@heroku.com) を取得することはできますか?
構成変数を手動で設定できることは知っていますが、そのような情報は Heroku によって公開される可能性があると考えました。
SendGrid や Memcache などのアドオンがインストールされている場合は、それらのアドオンのいずれかのユーザー名の環境変数にアクセスできます。たとえば、Ruby を使用していた場合は、コンソールにログインして、ENV['SENDGRID_USERNAME'] または ENV['MEMCACHE_USERNAME'] の値を出力できます。そこからアプリ ID を抽出するのは簡単です。他のどのアドオンが環境変数でその値を公開しているのかはわかりませんが、ENV グローバル ハッシュ全体を出力して、利用可能なものを見つけることができます。
Jared のソリューションを 1 年以上使用しました。ENV['SENDGRID_USERNAME']
今日、まだそこにいなかったときに(展開中に)問題に遭遇しました。
Heroku では、このための構成変数を自分で設定することを推奨しているため、次のように設定しました。
heroku config:add APP_NAME=<myappname> --app <myappname>
コンパイル中にそれらを使用できるようにするラボ機能を有効にします
heroku labs:enable user-env-compile -a myapp
そして今、私はここで自分のアプリ名を利用できるようになりました:
ENV["APP_NAME"] # '<myappname>'
そのため、この問題に再び遭遇することはありませんが、代わりに Heroku からこの種の情報セットを取得したいと考えています。
これは、Heroku のサポート チケットから直接引用したものです。
その値を自分で取得することはできません。これは、Heroku サポートのみが提供できる、SendGrid サポートが必要とする値です。
そのため、サポート チケットを介して Heroku に依頼する必要があります。
やや矛盾して、次のコマンドを実行すると Heroku アプリ ID にアクセスできることがわかりました。
heroku config:get SENDGRID_USERNAME
app171441466@heroku.com