API Capabilities per servizi in bundle legacy

Con l'API Capabilities, l'applicazione può rilevare interruzioni e pianificare per specifiche funzionalità API. Puoi utilizzare questa API per ridurre i tempi di inattività nell'applicazione, rilevando quando una funzionalità non è disponibile e quindi lo bypassa. .

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 CapabilitySet definisce tutte le classi metodi disponibili per questa API. Puoi assegnare un nome alle funzionalità in modo esplicito le deduci dai metodi forniti da questa classe. Vedi di seguito per elenco di servizi attualmente abilitati in questa API.

Funzionalità supportate

Attualmente 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 di posta "mail"
Disponibilità del servizio Memcache "memcache"
Disponibilità del servizio coda di attività "taskqueue"
Disponibilità del servizio di recupero URL "urlfetch"