Usa la API de módulos
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
La API de Modules proporciona funciones que muestran información acerca del entorno operativo (módulo, versión, instancia).
La API de Modules también tiene funciones que recuperan la dirección de un módulo, una versión o una instancia. Esto permite que una aplicación envíe solicitudes de una instancia a otra, tanto en el entorno de desarrollo y como en el de producción.
En el código de muestra a continuación, se enseña cómo obtener el nombre del módulo y el ID de una instancia para una solicitud:
import com.google.appengine.api.modules.ModulesService;
import com.google.appengine.api.modules.ModulesServiceFactory;
ModulesService modulesApi = ModulesServiceFactory.getModulesService();
// Get the service name handling the current request.
String currentModuleName = modulesApi.getCurrentModule();
// Get the instance handling the current request.
int currentInstance = modulesApi.getCurrentInstance();
El ID de instancia de un módulo con ajuste de escala automático se mostrará como un valor único codificado en formato base64, p. ej., e4b565394caa
.
Puedes comunicarte entre módulos de la misma aplicación si recuperas el nombre de host del módulo de destino:
El ejemplo de código que aparece a continuación muestra cómo obtener el nombre del módulo y el ID de instancia para una solicitud:
import com.google.appengine.api.modules.ModulesService;
import com.google.appengine.api.modules.ModulesServiceFactory;
import java.net.MalformedURLException;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
// ...
ModulesService modulesApi = ModulesServiceFactory.getModulesService();
// ...
try {
URL url = new URL("http://" +
modulesApi.getVersionHostname("my-backend-service","v1") +
"/fetch-stats");
BufferedReader reader = new BufferedReader(
new InputStreamReader(url.openStream()));
String line;
while ((line = reader.readLine()) != null) {
// Do something...
}
reader.close();
} catch (MalformedURLException e) {
// ...
} catch (IOException e) {
// ...
}
También puedes usar el servicio de recuperación de URL.
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-09-04 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-09-04 (UTC)"],[[["\u003cp\u003eThe Modules API provides functions to retrieve information about the current operating environment, including module, version, and instance details.\u003c/p\u003e\n"],["\u003cp\u003eThis API enables applications to obtain the address of a specific module, version, or instance, facilitating communication between instances in both development and production.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eModulesServiceFactory\u003c/code\u003e class is used to access the Modules API, allowing developers to get the current module name and instance ID, among other information.\u003c/p\u003e\n"],["\u003cp\u003eModules can communicate with each other by fetching the hostname of the target module using \u003ccode\u003egetVersionHostname\u003c/code\u003e function, which will then require the use of a URL to retrieve it.\u003c/p\u003e\n"],["\u003cp\u003eFor those updating to the App Engine Java 11/17 runtime, there is a specific migration guide that outlines the migration options for legacy bundled services.\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| java-gen2\n|\n| /services/access). If you are updating to the App Engine Java 11/17 runtime, refer to the [migration guide](/appengine/migration-center/standard/migrate-to-second-gen/java-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\nThe following code sample shows how to get the module name and instance id for\na request: \n\n import com.google.appengine.api.modules.https://cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.modules.ModulesService.html;\n import com.google.appengine.api.modules.https://cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.modules.ModulesServiceFactory.html;\n\n https://cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.modules.ModulesService.html modulesApi = https://cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.modules.ModulesServiceFactory.html.getModulesService();\n\n // Get the service name handling the current request.\n String currentModuleName = modulesApi.https://cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.modules.ModulesService.html#com_google_appengine_api_modules_ModulesService_getCurrentModule__();\n // Get the instance handling the current request.\n int currentInstance = modulesApi.getCurrentInstance();\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\nThe following code sample shows how to get the module name and instance id for\na request: \n\n import com.google.appengine.api.modules.https://cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.modules.ModulesService.html;\n import com.google.appengine.api.modules.https://cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.modules.ModulesServiceFactory.html;\n\n import java.net.MalformedURLException;\n import java.net.URL;\n import java.io.BufferedReader;\n import java.io.InputStreamReader;\n import java.io.IOException;\n\n // ...\n\n https://cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.modules.ModulesService.html modulesApi = https://cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.modules.ModulesServiceFactory.html.getModulesService();\n\n // ...\n try {\n URL url = new URL(\"http://\" +\n modulesApi.https://cloud.google.com/appengine/docs/standard/java-gen2/reference/services/bundled/latest/com.google.appengine.api.modules.ModulesService.html#com_google_appengine_api_modules_ModulesService_getVersionHostname_java_lang_String_java_lang_String_(\"my-backend-service\",\"v1\") +\n \"/fetch-stats\");\n BufferedReader reader = new BufferedReader(\n new InputStreamReader(url.openStream()));\n String line;\n\n while ((line = reader.readLine()) != null) {\n // Do something...\n }\n reader.close();\n\n } catch (MalformedURLException e) {\n // ...\n } catch (IOException e) {\n // ...\n }\n\nYou can also use the [URL Fetch](/appengine/docs/legacy/standard/java/issue-requests) service."]]