Utiliser l'API Modules
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
L'API Modules propose des fonctions qui renvoient des informations sur l'environnement d'exploitation actuel (module, version et instance).
Elle comporte également des fonctions qui servent à récupérer l'adresse d'un module, d'une version ou d'une instance. Cela permet à une application d'envoyer des requêtes d'une instance à une autre dans les environnements de développement et de production.
Vous devez importer le module google.appengine.api.modules
à partir du SDK.
L'exemple de code suivant montre comment obtenir le nom du module et l'ID d'instance pour une requête :
L'ID d'instance d'un module avec scaling automatique est renvoyé sous forme de valeur unique encodée en base64, par exemple e4b565394caa
.
Vous pouvez communiquer avec les modules d'une même application en récupérant le nom d'hôte du module cible :
Vous pouvez également utiliser le service de récupération d'URL.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/04 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 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."]]