Python 2.7 はサポートが終了しており、2026 年 1 月 31 日に
非推奨になります。非推奨になると、過去に組織のポリシーを使用して以前のランタイムのデプロイを再度有効にしていた場合でも、Python 2.7 アプリケーションをデプロイできなくなります。既存の Python 2.7 アプリケーションは、
非推奨日以降も引き続き実行され、トラフィックを受信します。
サポートされている最新バージョンの Python に移行することをおすすめします。
Modules API の使用
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
Modules API には、現在の動作環境に関する情報(モジュール、バージョン、インスタンス)を返す関数が用意されています。
Modules API には他にも、特定のモジュール、バージョン、インスタンスのアドレスを取得するための関数があります。これをアプリケーションで利用すると、リクエストをインスタンス間で送信することができ、これは開発と本番のどちらの環境でも可能です。
SDK から google.appengine.api.modules
モジュールをインポートする必要があります。
次のコードサンプルでは、リクエストのモジュール名とインスタンス ID を取得する方法を示します。
自動スケーリングされるモジュールのインスタンス ID は、一意の base64 エンコード値として返されます(例: e4b565394caa
)。
同じアプリ内のモジュール間で通信するには、相手のモジュールのホスト名を取得します。
URL 取得サービスも利用できます。
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-09-04 UTC。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["わかりにくい","hardToUnderstand","thumb-down"],["情報またはサンプルコードが不正確","incorrectInformationOrSampleCode","thumb-down"],["必要な情報 / サンプルがない","missingTheInformationSamplesINeed","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-09-04 UTC。"],[[["\u003cp\u003eThis API supports first-generation runtimes and can be used when upgrading to corresponding second-generation runtimes.\u003c/p\u003e\n"],["\u003cp\u003eThe Modules API provides functions to access information about the current operating environment, including module, version, and instance details.\u003c/p\u003e\n"],["\u003cp\u003eThe API allows retrieving the address of a specific module, version, or instance, facilitating inter-instance communication within an application.\u003c/p\u003e\n"],["\u003cp\u003eTo utilize the Modules API, you must import the \u003ccode\u003egoogle.appengine.api.modules\u003c/code\u003e module from the SDK.\u003c/p\u003e\n"],["\u003cp\u003eThe API can retrieve the hostname of a specific target module to allow communication between modules in the same app.\u003c/p\u003e\n"]]],[],null,["# Using the Modules API\n\n| This API is supported for first-generation runtimes and can be used when [upgrading to corresponding second-generation runtimes](/appengine/docs/standard/\n| python3\n|\n| /services/access). If you are updating to the App Engine Python 3 runtime, refer to the [migration guide](/appengine/migration-center/standard/migrate-to-second-gen/python-differences) to learn about your migration options for legacy bundled services.\n\nThe Modules API provides functions that return information about the current\noperating environment (module, version, and instance).\n\nThe Modules API also has functions that retrieve the address of a module, a\nversion, or an instance. This allows an application to send requests from one\ninstance to another, in both the development and production environments.\n\nYou must import the `google.appengine.api.modules` module from the SDK. \n\n from google.appengine.api import modules\n\nThe following code sample shows how to get the module name and instance id for\na request: \n\n module = modules.get_current_module_name()\n instance_id = modules.get_current_instance_id()\n self.response.write(\n 'module_id={}&instance_id={}'.format(module, instance_id))\n\nThe instance ID of an automatic scaled module will be returned as a unique\nbase64 encoded value, e.g. `e4b565394caa`.\n\nYou can communicate between modules in the same app by fetching the hostname of\nthe target module: \n\n backend_hostname = modules.get_hostname(module='my-backend')\n url = \"http://{}/\".format(backend_hostname)\n try:\n result = urllib2.urlopen(url).read()\n self.response.write('Got response {}'.format(result))\n except urllib2.URLError:\n pass\n\nYou can also use the [URL Fetch](/appengine/docs/legacy/standard/python/issue-requests) service."]]