Modules API の使用

Modules API には、現在の動作環境に関する情報(モジュール、バージョン、インスタンス)を返す関数が用意されています。

Modules API には他にも、特定のモジュール、バージョン、インスタンスのアドレスを取得するための関数があります。これをアプリケーションで利用すると、リクエストをインスタンス間で送信することができ、これは開発と本番のどちらの環境でも可能です。

ファイルの先頭に次の use ステートメントを追加します。

use google\appengine\api\modules\ModulesService;

次のコードサンプルでは、リクエストのモジュール名とインスタンス ID を取得する方法を示します。

$module = ModulesService::getCurrentModuleName();
$instance = ModulesService::getCurrentInstanceId();

自動スケーリングされるモジュールのインスタンス ID は、一意の base64 エンコード値として返されます(例: e4b565394caa)。

同じアプリ内のモジュール間で通信するには、相手のモジュールのホスト名を取得します。

use google\appengine\api\modules\ModulesService;
$url = 'http://' . ModulesService::getHostname('my-backend') . '/';
$result = file_get_contents($url);

URL 取得サービスも利用できます。