API Capabilities per servizi in bundle legacy

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:

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 wrapper pratico per le funzionalità di lettura e scrittura di Datastore. Anche se puoi testare le funzionalità semplicemente fornendo il nome della funzionalità come argomento a CapabilitySet(), in questo caso puoi anche utilizzare gli oggetti db.READ_CAPABILITY e db.WRITE_CAPABILITY CapabilitySet. Il seguente esempio mostra come rilevare la disponibilità delle scritture Datastore utilizzando un wrapper di convenienza e, durante il tempo di inattività, fornire 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 disponibili per questa API. Puoi denominare le funzionalità in modo esplicito o deducerle dai metodi forniti da questa classe. Vedi di seguito l'elenco dei servizi attualmente abilitati in questa API.

Funzionalità supportate

L'API attualmente supporta le seguenti funzionalità:

Capacità Argomenti da CapabilitySet
Disponibilità dell'archivio BLOB "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 Task Queue "taskqueue"
Disponibilità del servizio di recupero URL "urlfetch"