Cómo usar la API de Modules

La API de Modules proporciona funciones que muestran información acerca del entorno operativo (p. ej., el módulo, la versión, y la 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.

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;

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 mediante la recuperación del nombre de host del módulo objetivo.

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.

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Entorno estándar de App Engine para Java