私は、タスクがアプリの特定のバージョン(1がそれらを作成する)に呼ばれていることを確認するApp EngineのJavaの11の標準的な環境でのアプリケーションの実行を持っています。私は追加することができAppEngineRouting
、これを達成するためのタスク作成要求にフィールドを、しかし、キャッチがあります:通常、バージョンIDを使用してアクセス可能であるApiProxy.getCurrentEnvironment().getVersionId()
、あるいは少なくともそれは由緒あるのJava 8の標準的な環境下であるために使用されます。Javaの11の下では、ApiProxy.getCurrentEnvironment()
一貫しているnull
私のために。
午前私は何かが欠けている、またはしているApiProxy
密かにJavaの11の標準のために、「非推奨」されていますか?そうであれば、アプリ、バージョンおよびサービスのID、または要求の期限までの残りミリ秒のような情報を得るための現在受け入れ方法は何ですか?
周り見てのビットの後、私は、Java 11標準の環境システムの下で、これらのアプリエンジンセットenvvarsが[1]として利用可能であることに気づきました。以前に利用可能であることに使用されるものを取得する必要がある場合はApiProxy
、あなたの最善の策は、経由して、対応する変数を読むことですSystem.getenv(String name)
。
さらに、あなたはでカスタムenvvarsが設定することができますapp.yaml
を経由してあなたのプログラムにそれらを渡すことなく、ファイルを-Dname=value
。
[1] https://cloud.google.com/appengine/docs/standard/java11/runtime#environment_variables