API de funciones para servicios agrupados en paquetes heredados
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
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:
fromgoogle.appengine.apiimportcapabilitiesdefStoreUploadedProfileImage(self):uploaded_image=self.request.get('img')# If the images API is unavailable, we'll just skip the resize.ifcapabilities.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:
fromgoogle.appengine.extimportdbdefRenderHTMLForm(self):ifnotdb.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 URLs
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-09-04 (UTC)"],[[["\u003cp\u003eThe Capabilities API allows applications to detect outages and scheduled downtime for specific API capabilities, helping to reduce application downtime by bypassing unavailable features.\u003c/p\u003e\n"],["\u003cp\u003eThis API supports first-generation runtimes and can be utilized when upgrading to corresponding second-generation runtimes, with specific migration guidance for the App Engine Python 3 runtime.\u003c/p\u003e\n"],["\u003cp\u003eWhile \u003ccode\u003eis_enabled\u003c/code\u003e generally returns \u003ccode\u003etrue\u003c/code\u003e, the "Datastore writes" capability returns \u003ccode\u003efalse\u003c/code\u003e if Datastore is in read-only mode.\u003c/p\u003e\n"],["\u003cp\u003eThe API can be used by explicitly naming capabilities or by inferring them from the \u003ccode\u003eCapabilitySet\u003c/code\u003e class methods.\u003c/p\u003e\n"],["\u003cp\u003eThe API currently supports capabilities like blobstore, Datastore reads and writes, Images, Mail, Memcache, Task Queue, and URL Fetch services.\u003c/p\u003e\n"]]],[],null,["# Capabilities API for legacy bundled services\n\nWith the Capabilities API, your application can detect outages and scheduled\ndowntime for specific [API capabilities](#Supported_capabilities). You can use\nthis API to reduce downtime in your application by detecting when a capability\nis unavailable and then bypassing it. .\n| This API is supported for first-generation runtimes and can be used when [upgrading to corresponding second-generation runtimes](/appengine/docs/standard/\n| python3\n|\n| /services/access). If you are updating to the App Engine Python 3 runtime, refer to the [migration guide](/appengine/migration-center/standard/migrate-to-second-gen/python-differences) to learn about your migration options for legacy bundled services.\n| Every `is_enabled` request to this API always returns\n| `true` except for the \"Datastore writes\" capability, which\n| returns `false` if Datastore is in read-only\n| mode for your app.\n\nFor example, if you use the Images API to resize images, you can use the\nCapabilities API to detect when the Images API is unavailable and skip the\nresize: \n\n from google.appengine.api import capabilities\n\n def StoreUploadedProfileImage(self):\n uploaded_image = self.request.get('img')\n # If the images API is unavailable, we'll just skip the resize.\n if capabilities.CapabilitySet('images').is_enabled():\n uploaded_image = images.resize(uploaded_image, 64, 64)\n store(uploaded_image)\n\nThe Datastore API provides a convenience wrapper for the Datastore read and\nwrite capabilities. While you can test capabilities simply by supplying the\ncapability name as an argument to `CapabilitySet()`, in this case you can also\nuse the `db.READ_CAPABILITY` and `db.WRITE_CAPABILITY` convenience\n`CapabilitySet` objects. The following sample shows how to detect the\navailability of Datastore writes using a convenience wrapper and, during\ndowntime, provide a message to users: \n\n from google.appengine.ext import db\n\n def RenderHTMLForm(self):\n if not db.WRITE_CAPABILITY.is_enabled():\n # Datastore is in read-only mode.\n\nUsing the Capabilities API in Python 2\n--------------------------------------\n\nThe\n[CapabilitySet](/appengine/docs/legacy/standard/python/refdocs/google.appengine.api.capabilities#google.appengine.api.capabilities.CapabilitySet)\nclass defines all of the\navailable methods for this API. You can either name capabilities explicitly or\ninfer them from the methods provided by this class. See below for the\n[list of services](#Supported_capabilities) currently enabled in this API.\n\nSupported capabilities\n----------------------\n\nThe API currently supports the following capabilities:"]]