API Capabilities para serviços agrupados antigos

Com a API Capabilities, a sua aplicação pode detetar interrupções e tempo de inatividade agendado para capacidades da API específicas. Pode usar esta API para reduzir o tempo de inatividade na sua aplicação ao detetar quando uma capacidade está indisponível e, em seguida, ignorá-la. .

Por exemplo, se usar a API Images para redimensionar imagens, pode usar a API Capabilities para detetar 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)

A API Datastore oferece uma união de conveniência para as capacidades de leitura e escrita do Datastore. Embora possa testar as capacidades simplesmente fornecendo o nome da capacidade como um argumento para CapabilitySet(), neste caso, também pode usar os objetos de conveniência db.READ_CAPABILITY e db.WRITE_CAPABILITY CapabilitySet. O exemplo seguinte mostra como detetar a disponibilidade de escritas do Datastore através de um wrapper de conveniência e, durante o tempo de inatividade, apresentar uma mensagem aos utilizadores:

from google.appengine.ext import db

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

Usar a API Capabilities no Python 2

A classe CapabilitySet define todos os métodos disponíveis para esta API. Pode atribuir nomes explícitos às capacidades ou inferi-los a partir dos métodos fornecidos por esta classe. Veja abaixo a lista de serviços atualmente ativados nesta API.

Capacidades suportadas

Atualmente, a API suporta as seguintes capacidades:

Capacidade Argumentos para CapabilitySet
Disponibilidade do blobstore "blobstore"
Leituras do Datastore "datastore_v3"
Escritas do Datastore "datastore_v3", ["write"]
Disponibilidade do serviço Imagens "images"
Disponibilidade do serviço de correio "mail"
Disponibilidade do serviço Memcache "memcache"
Disponibilidade do serviço Task Queue "taskqueue"
Disponibilidade do serviço de obtenção de URL "urlfetch"