Con la API de funciones, tu aplicación puede detectar interrupciones y tiempos de inactividad programados para funciones de API específicas. Puedes usar esta API para reducir el tiempo de inactividad en tu aplicación detectando funciones que no estén disponibles para luego saltearlas. .
Por ejemplo, si usas la API de Imágenes para cambiar el tamaño de las imágenes, puedes usar la API de funciones a fin de detectar el momento en que la API de Imágenes no estará disponible y evitar 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 si hay disponibilidad de opciones de lectura y de escritura de Datastore. El ejemplo que aparece a continuación muestra cómo detectar la disponibilidad de opciones de escritura en Datastore y cómo enviar un mensaje a los usuarios durante el tiempo de inactividad:
CapabilityStatus status =
service.getStatus(Capability.DATASTORE_WRITE).getStatus();
if (status == CapabilityStatus.DISABLED) {
// Datastore is in read-only mode.
}
Usa la API de funciones en Java 8
Cada función se representa como una constante estática en la clase Función, como Capability.DATASTORE_WRITE
.
Cada función tiene un estado que puedes recuperar desde CapabilitiesService.getStatus(Capability)
.
Cada estado tiene un estado, que es una enumeración que refleja la disponibilidad de una función: ENABLED
o DISABLED
. Consulta la lista de servicios que se encuentra a continuación para saber cuáles están habilitados en la API.
Funciones compatibles
Por el momento, la API admite las siguientes funciones:
Función | Argumentos para getStatus |
---|---|
Disponibilidad de blobstore | Capability.BLOBSTORE |
Operaciones de lectura de Datastore | Capability.DATASTORE |
Opciones de escritura de Datastore | Capability.DATASTORE_WRITE |
Disponibilidad del servicio de imágenes | Capability.IMAGES |
Disponibilidad del servicio de correo electrónico | Capability.MAIL |
Disponibilidad del servicio de Memcache | Capability.MEMCACHE |
Disponibilidad del servicio de lista de tareas en cola | Capability.TASKQUEUE |
Disponibilidad del servicio de recuperación de URLs | Capability.URL_FETCH |