'Heroku Labs: dyno メタデータ'
最終更新日 2024年05月13日(月)
dyno メタデータにより、dyno は、アプリや環境に関する情報に容易にアクセスできるようになります。使用可能な dyno メタデータの例には、リリースに関する詳細、dyno サイズ、アプリケーション名のほか、特定の実行中の dyno の一意識別子が含まれます。
dyno メタデータは、次のために使用できます。
リリース情報を取得する: dyno がリリースのどの git SHA を実行しているかを知ることは、継続的インテグレーション、コールバック、デバッグに役立ちます。
アプリケーション名に容易にアクセスする: アプリケーション名がわかっていると、複数のリージョンにわたって同じアプリケーションの複数のバージョンを実行している場合のデバッグが容易になる場合があります。
Heroku Labs を通して追加された機能は実験的であり、変更される場合があります。
使用
dyno プロセスは、メタデータを dyno で設定された環境設定として検査できます。アプリでこれらの設定を取得するには、最初に、アプリケーションで Labs 機能を有効にする必要があります。
この機能は、次を実行することによって有効にすることができます。
$ heroku labs:enable runtime-dyno-metadata -a <app name>
追加の環境設定では、このフラグを有効にします。このフラグで使用できる環境設定については、次の表を参照してください。
$ heroku labs:enable runtime-dyno-build-metadata -a <app name>
このメタデータは、次回アプリをデプロイしたときに使用可能になります。
dyno メタデータ
次の dyno メタデータが使用可能です:
名前 | 説明 | 例 |
---|---|---|
HEROKU_APP_ID | アプリケーションの一意識別子。 | "9daa2797-e49b-4624-932f-ec3f9688e3da" |
HEROKU_APP_NAME | アプリケーション名。 | "example-app" |
HEROKU_APP_DEFAULT_DOMAIN_NAME | アプリのデフォルト DNS ホスト名。 | "example-app-1234567890ab.herokuapp.com" |
HEROKU_DYNO_ID | dyno ID。 このメタデータは、まだ Private Spaces でも Container Registry でも使用できません。 | "1vac4117-c29f-4312-521e-ba4d8638c1ac" |
HEROKU_RELEASE_CREATED_AT | このリリースが作成された時刻と日付。 | "2015-04-02T18:00:42Z" |
HEROKU_RELEASE_VERSION | 現在のリリースの識別子。 | "v42" |
HEROKU_SLUG_COMMIT | 現在のリリースのコミットハッシュ。このフィールドは非推奨です。代わりに HEROKU_BUILD_COMMIT をお使いください。 | "2c3a0b24069af49b3de35b8e8c26765c1dba9ff0" |
HEROKU_SLUG_DESCRIPTION | 現在のリリースの説明。このフィールドは非推奨です。代わりに HEROKU_BUILD_DESCRIPTION をお使いください。 | "Deploy 2c3a0b2" |
HEROKU_BUILD_COMMIT | 現在のビルドのコミットハッシュ。 | "2c3a0b24069af49b3de35b8e8c26765c1dba9ff0" |
HEROKU_BUILD_DESCRIPTION | 現在のビルドの説明。* | "Deploy 2c3a0b2" |
説明にアスタリスク (*) が付いている環境設定は、runtime-dyno-build-metadata
フラグで使用できます。
特定の状況 (リリース API を使用した手動での tarball のプッシュなど) では、slug コミットハッシュは null である可能性があります。
これらの変更と競合するおそれがあるため、アプリケーションで HEROKU_* 環境変数を設定することはお勧めできません。
dyno メタデータの例
$ env
HEROKU_APP_ID: 9daa2797-e49b-4624-932f-ec3f9688e3da
HEROKU_APP_NAME: example-app
HEROKU_APP_DEFAULT_DOMAIN_NAME: example-app-1234567890ab.herokuapp.com
HEROKU_DYNO_ID: 1vac4117-c29f-4312-521e-ba4d8638c1ac
HEROKU_RELEASE_CREATED_AT: 2015-04-02T18:00:42Z
HEROKU_RELEASE_VERSION: v42
HEROKU_SLUG_COMMIT: 2c3a0b24069af49b3de35b8e8c26765c1dba9ff0
HEROKU_SLUG_DESCRIPTION: Deploy 2c3a0b2
HEROKU_BUILD_COMMIT: 2c3a0b24069af49b3de35b8e8c26765c1dba9ff0
HEROKU_BUILD_DESCRIPTION: Deploy 2c3a0b2
...
削除
この Labs への参加が不要になった場合は、アプリから Labs を削除した後、不要な環境設定をすべて削除してください。 アプリケーションが依存している可能性のある環境設定が削除されるおそれがあるため、Labs を削除しても、この時点で環境設定は削除されません。 すべての Labs と同様に、この機能は実験的であり、変更される場合があります。
Labs からオプトアウトすることによって、環境設定の継続的な更新を無効にすることができます。
$ heroku labs:disable runtime-dyno-metadata -a <app name>
$ heroku labs:disable runtime-dyno-build-metadata -a <app name>
削除対象をすべて設定解除することによって、環境設定を削除できます。ここでは、この機能によって設定されたすべての環境設定を削除します。
$ heroku config:unset HEROKU_APP_ID HEROKU_APP_NAME HEROKU_DYNO_ID \
HEROKU_APP_DEFAULT_DOMAIN_NAME HEROKU_RELEASE_CREATED_AT HEROKU_RELEASE_VERSION \
HEROKU_SLUG_COMMIT HEROKU_SLUG_DESCRIPTION \
HEROKU_BUILD_COMMIT HEROKU_BUILD_DESCRIPTION -a <app name>