Con l'API Capabilities, l'applicazione può rilevare interruzioni e tempi di inattività pianificati per funzionalità dell'API specifiche. Puoi utilizzare questa API per ridurre i tempi di inattività nell'applicazione rilevando quando una funzionalità non è disponibile e quindi ignorandola. .
Ad esempio, se utilizzi l'API Images per ridimensionare le immagini, puoi utilizzare l'API Capabilities per rilevare quando l'API Images non è disponibile e ignorare il ridimensionamento:
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.
}
Puoi eseguire query separatamente sulla disponibilità di letture e scritture Datastore. Il seguente esempio mostra come rilevare la disponibilità delle scritture Datastore e, durante il tempo di inattività, fornire un messaggio agli utenti:
CapabilityStatus status =
service.getStatus(Capability.DATASTORE_WRITE).getStatus();
if (status == CapabilityStatus.DISABLED) {
// Datastore is in read-only mode.
}
Utilizzo dell'API Capabilities in Java 8
Ogni funzionalità è rappresentata come una costante statica nella classe delle funzionalità,
ad esempio Capability.DATASTORE_WRITE
.
Ogni funzionalità ha uno stato, che puoi recuperare da
CapabilitiesService.getStatus(Capability)
.
Ogni stato ha uno stato, ovvero un'enumerazione che riflette la disponibilità di una funzionalità, ovvero ENABLED
o DISABLED
. Vedi di seguito
l'elenco dei servizi attualmente abilitati in questa API.
Funzionalità supportate
L'API attualmente supporta le seguenti funzionalità:
Capacità | Argomenti da getStatus |
---|---|
Disponibilità dell'archivio BLOB | Capability.BLOBSTORE |
Letture Datastore | Capability.DATASTORE |
Scritture datastore | Capability.DATASTORE_WRITE |
Disponibilità del servizio Immagini | Capability.IMAGES |
Disponibilità del servizio di posta | Capability.MAIL |
Disponibilità del servizio Memcache | Capability.MEMCACHE |
Disponibilità del servizio Task Queue | Capability.TASKQUEUE |
Disponibilità del servizio di recupero URL | Capability.URL_FETCH |