Com a API Capabilities, é possível detectar interrupções e uma inatividade programada de determinados recursos da API. É possível usar essa API para reduzir a inatividade no aplicativo detectando quando um recurso está indisponível e pode ser ignorado.
Por exemplo, se você usar a API Images para redimensionar imagens, poderá usar a API Capabilities para detectar quando a API Images está indisponível e ignorar o redimensionamento:
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)
Como usar a API Capabilities
A classe
CapabilitySet
define todos os
métodos disponíveis para essa API. É possível nomear os recursos explicitamente ou
deduzi-los dos métodos fornecidos por essa classe. Consulte a próxima seção para mostrar uma lista dos serviços atualmente ativados nessa API.
Recursos compatíveis
No momento, a API oferece suporte aos seguintes recursos:
| Capacidade | Argumentos para CapabilitySet |
|---|---|
| Disponibilidade do blobstore | "blobstore" |
| Leituras do Datastore | "datastore_v3" |
| Gravações do Datastore | "datastore_v3", ["write"] |
| Disponibilidade do serviço de imagens | "images" |
| Disponibilidade do serviço de e-mail | "mail" |
| Disponibilidade do serviço de memcache | "memcache" |
| Disponibilidade do serviço de fila de tarefas | "taskqueue" |
| Disponibilidade do serviço de Busca de URL | "urlfetch" |