API Capabilities pour les anciens services groupés

Avec l'API Capabilities, votre application peut détecter les pannes et les temps d'arrêt planifiés pour des fonctionnalités d'API spécifiques. Vous pouvez utiliser cette API pour réduire les temps d'arrêt de votre application en détectant le moment où une fonctionnalité n'est pas disponible et en la désactivant. .

Par exemple, si vous passez par l'API Images pour redimensionner des images, vous pouvez utiliser l'API Capabilities pour détecter à quel moment l'API Images n'est pas disponible et ignorer le redimensionnement :

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.
}

Vous pouvez interroger séparément la disponibilité des opérations de lecture et d'écriture dans Datastore. L'exemple suivant montre comment procéder et comment envoyer un message aux utilisateurs lors des temps d'arrêt :

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

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

Utiliser l'API Capabilities dans Java 8

Chaque capacité est représentée sous la forme d'une constante statique dans la classe Capability, telle que Capability.DATASTORE_WRITE. Chaque capacité est associée à un état que vous pouvez extraire de CapabilitiesService.getStatus(Capability). Chaque état possède un statut, qui est une énumération reflétant la disponibilité d'une capacité : ENABLED ou DISABLED. Consultez ci-dessous la liste des services actuellement activés dans cette API.

Fonctionnalités proposées

L'API propose actuellement les fonctionnalités suivantes :

Capacité Arguments pour getStatus
Disponibilité du Blobstore Capability.BLOBSTORE
Lectures dans le datastore Capability.DATASTORE
Écritures dans le datastore Capability.DATASTORE_WRITE
Disponibilité du service Images Capability.IMAGES
Disponibilité du service Mail Capability.MAIL
Disponibilité du service Memcache Capability.MEMCACHE
Disponibilité du service Task Queue Capability.TASKQUEUE
Disponibilité du service URL Fetch Capability.URL_FETCH