API de funciones para servicios en paquetes heredados

Con la API de funciones, tu aplicación puede detectar interrupciones y tiempos de inactividad programados para funciones de API específicas. Puedes usar esta API para reducir el tiempo de inactividad en tu aplicación detectando funciones que no estén disponibles para luego saltearlas. .

Por ejemplo, si usas la API de Images que permite cambiar el tamaño de las imágenes, puedes usar la API de funciones para detectar cuándo la API de Images no está disponible y omitir el cambio de tamaño:

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)

La API de Datastore proporciona un wrapper útil para las funciones de lectura y escritura de Datastore. Mientras que puedes probar las funciones con solo proporcionar el nombre de la función como argumento para CapabilitySet(), en este caso también puedes usar los objetos CapabilitySet de conveniencia db.READ_CAPABILITY y db.WRITE_CAPABILITY. El ejemplo que aparece a continuación muestra cómo detectar la disponibilidad de las opciones de escritura en Datastore con un wrapper y cómo enviar un mensaje a los usuarios durante el tiempo de inactividad:

from google.appengine.ext import db

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

Usa la API de funciones en Python 2

La clase CapabilitySet define todos los métodos disponibles para esta API. Puedes asignar un nombre a la función de manera explícita o inferirlo a partir de los métodos proporcionados por esta clase. Consulta a continuación la lista de servicios que se encuentran habilitados en esta API.

Funciones compatibles

Por el momento, la API admite las siguientes funciones:

Función Argumentos para CapabilitySet
Disponibilidad de Blobstore "blobstore"
Opciones de lectura de Datastore "datastore_v3"
Opciones de escritura de Datastore "datastore_v3", ["write"]
Disponibilidad del servicio de imágenes "images"
Disponibilidad del servicio de correo "mail"
Disponibilidad del servicio de Memcache "memcache"
Disponibilidad del servicio de lista de tareas en cola "taskqueue"
Disponibilidad del servicio de recuperación de URL "urlfetch"