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 |