Python 2 wird von der Community nicht mehr unterstützt. Wir empfehlen die Migration von Python 2-Anwendungen zu Python 3.

Capabilities API in Python

Mithilfe der Capabilities API kann Ihre Anwendung für bestimmte API-Funktionen Ausfälle und geplante Ausfallzeiten erkennen. Mit dieser API können Sie die Ausfallzeiten Ihrer Anwendung reduzieren, indem Sie erkennen, wann eine Funktion nicht verfügbar ist, und diese dann umgehen.

Falls Sie beispielsweise mit der Images API die Größe von Bildern ändern, können Sie mithilfe der Capabilities API erkennen, wann die Images API nicht verfügbar ist, und die Größenänderung überspringen:

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)

Die Datastore API bietet einen praktischen Wrapper für die Lese- und Schreibfunktionen von Datastore. Sie können Funktionen zwar testen, indem Sie den Funktionsnamen als Argument für CapabilitySet() angeben, in diesem Fall können Sie aber auch die db.READ_CAPABILITY - und db.WRITE_CAPABILITY- Convenience-CapabilitySet -Objekte verwenden. Das folgende Beispiel zeigt, wie die Verfügbarkeit von Datastore-Schreibvorgängen mithilfe eines Convenience-Wrappers ermittelt und den Nutzern während einer Ausfallzeit ein Fehler angezeigt wird:

from google.appengine.ext import db

def RenderHTMLForm(self):
    if not db.WRITE_CAPABILITY.is_enabled():
        # Datastore is in read-only mode.

Capabilities API in Python 2 verwenden

Die CapabilitySet -Klasse definiert alle verfügbaren Methoden für dieses API. Sie können Funktionen entweder explizit benennen oder aus den von dieser Klasse bereitgestellten Methoden ableiten. Im Folgenden finden Sie eine Liste der Dienste, die derzeit in dieser API aktiviert sind.

Unterstützte Funktionen

Die API unterstützt zurzeit die folgenden Funktionen:

Rechte Argumente für CapabilitySet
Verfügbarkeit von Blobstore "blobstore"
Datastore-Lesevorgänge "datastore_v3"
Datastore-Schreibvorgänge "datastore_v3", ["write"]
Verfügbarkeit des Images-Diensts "images"
Verfügbarkeit des Mail-Diensts "mail"
Verfügbarkeit des Memcache-Diensts "memcache"
Verfügbarkeit des Aufgabenwarteschlangendiensts "taskqueue"
Verfügbarkeit des URL-Abrufdiensts "urlfetch"