Con l'API Capabilities, la tua applicazione può rilevare interruzioni e tempi di inattività programmati per funzionalità dell'API specifiche. Puoi utilizzare questa API per ridurre i tempi di inattività della tua applicazione rilevando quando una funzionalità non è disponibile e poi bypassandola. .
Ad esempio, se utilizzi l'API Images per ridimensionare le immagini, puoi utilizzare API Capabilities per rilevare quando l'API Images non è disponibile e ignorare ridimensiona:
from google.appengine.api import capabilities
def StoreUploadedProfileImage(self):
uploaded_image = self.request.get('img')
# If the images API is unavailable, we'll just skip the resize.
if capabilities.CapabilitySet('images').is_enabled():
uploaded_image = images.resize(uploaded_image, 64, 64)
store(uploaded_image)
L'API Datastore fornisce un pratico wrapper per le operazioni di lettura e
di scrittura. È possibile testare le funzionalità semplicemente fornendo
il nome della funzionalità come argomento per CapabilitySet()
, in questo caso puoi anche
usa la comodità di db.READ_CAPABILITY
e db.WRITE_CAPABILITY
CapabilitySet
oggetti. L'esempio seguente mostra come rilevare
delle scritture Datastore utilizzando un wrapper pratico e, durante
tempo di inattività, fornisci un messaggio agli utenti:
from google.appengine.ext import db
def RenderHTMLForm(self):
if not db.WRITE_CAPABILITY.is_enabled():
# Datastore is in read-only mode.
Utilizzo dell'API Capabilities in Python 2
La classe CapabilitySet definisce tutti i metodi disponibile per questa API. Puoi assegnare un nome alle funzionalità in modo esplicito o ricavarle dai metodi forniti da questa classe. Di seguito è riportato l'elenco dei servizi attualmente abilitati in questa API.
Funzionalità supportate
Al momento l'API supporta le seguenti funzionalità:
Capacità | Argomenti per CapabilitySet |
---|---|
Disponibilità del blobstore | "blobstore" |
Letture Datastore | "datastore_v3" |
Scritture datastore | "datastore_v3", ["write"] |
Disponibilità del servizio Immagini | "images" |
Disponibilità del servizio Posta | "mail" |
Disponibilità del servizio Memcache | "memcache" |
Disponibilità del servizio Task Queue | "taskqueue" |
Disponibilità del servizio di recupero URL | "urlfetch" |