API Capabilities para servicios agrupados antiguos

Con la API Capabilities, tu aplicación puede detectar interrupciones y periodos inactivos programados de funciones de la API específicas. Puedes usar esta API para reducir el tiempo de inactividad de tu aplicación detectando cuándo no está disponible una función y, a continuación, omitiéndola. .

Por ejemplo, si usas la API Images para cambiar el tamaño de las imágenes, puedes usar la API Capabilities para detectar cuándo no está disponible la API Images y omitir el cambio de tamaño:

import com.google.appengine.api.capabilities.*;

CapabilitiesService service =
    CapabilitiesServiceFactory.getCapabilitiesService();
CapabilityStatus status = service.getStatus(Capability.IMAGES).getStatus();

if (status == CapabilityStatus.DISABLED) {
    // Images API is not available.
}

Puedes consultar por separado la disponibilidad de las lecturas y escrituras de Datastore. En el siguiente ejemplo se muestra cómo detectar la disponibilidad de las escrituras de Datastore y, durante el tiempo de inactividad, mostrar un mensaje a los usuarios:

CapabilityStatus status =
    service.getStatus(Capability.DATASTORE_WRITE).getStatus();

if (status == CapabilityStatus.DISABLED) {
    // Datastore is in read-only mode.
}

Usar la API Capabilities en Java 8

Cada Capability se representa como una constante estática en la clase Capability, como Capability.DATASTORE_WRITE. Cada Capability tiene un estado, que puedes obtener de CapabilitiesService.getStatus(Capability). Cada estado tiene un valor de enumeración que refleja la disponibilidad de una función: ENABLED o DISABLED. A continuación, puedes consultar la lista de servicios habilitados actualmente en esta API.

Funciones admitidas

En estos momentos, el API admite las siguientes capacidades:

Competencia Argumentos de getStatus
Disponibilidad del almacén de blob Capability.BLOBSTORE
Operaciones de lectura en el almacén de datos Capability.DATASTORE
Operaciones de escritura en Datastore Capability.DATASTORE_WRITE
Disponibilidad del servicio de imágenes Capability.IMAGES
Disponibilidad del servicio de correo Capability.MAIL
Disponibilidad del servicio Memcache Capability.MEMCACHE
Disponibilidad del servicio de cola de tareas Capability.TASKQUEUE
Disponibilidad del servicio de extracción de URL Capability.URL_FETCH