O Cloud Endpoints Frameworks era anteriormente denominado Endpoints. Para distinguir as duas versões, esta página refere-se à nova versão como Endpoints Frameworks versão 2.0 e à versão mais antiga como Endpoints versão 1.0. Esta página descreve como migrar uma aplicação do Cloud Endpoints versão 1.0 para a versão 2.0 dos Frameworks do Endpoints. A migração consiste numa alteração da biblioteca e numa alteração da configuração da aplicação, mas não tem de fazer alterações ao código.
Vantagens
A versão 2.0 dos Endpoints oferece várias vantagens, incluindo:
- Latência do pedido reduzida.
- Melhor integração com as funcionalidades do App Engine, como domínios personalizados.
- Novas funcionalidades de gestão de APIs.
A versão 2.0 do Endpoints Frameworks não afeta as interfaces da sua API. Os clientes existentes continuam a funcionar após a migração sem alterações ao código do lado do cliente.
Vista geral das funcionalidades
As seguintes funcionalidades são retrocompatíveis com a versão 1.0 dos Endpoints:
- Protocolo JSON-REST, que é usado por todas as bibliotecas de clientes Google
- Serviço de descoberta
- Todas as funcionalidades de autenticação existentes (OAuth2/OpenID Connect)
- Suporte da biblioteca cliente para clientes gerados
- CORS (para autores de chamadas JavaScript que não usam a biblioteca de cliente JavaScript da Google)
- Explorador de APIs
A divisão de tráfego está indisponível.
Funcionalidades atualmente excluídas
As seguintes funcionalidades estão indisponíveis. Se precisar de alguma destas opções, envie um pedido de funcionalidade.
- Protocolo JSON-RPC, que é necessário para clientes iOS antigos. Para criar clientes iOS para a sua API do Endpoints Frameworks versão 2.0, recomendamos que use a biblioteca de cliente Objective-C das APIs Google para APIs REST.
- ETags automáticos
- Campos kindautomáticos
- Integração de IDE
- fieldsrespostas parciais
- Criação automática do método da API PATCH
Migrar da versão 1.0 dos Endpoints
Para migrar da versão 1.0:
- Crie uma subpasta denominada - /libno diretório principal da sua aplicação.
- Instale a biblioteca a partir do diretório principal da sua aplicação: - pip install -t lib google-endpoints --ignore-installed
- Remova as entradas - - name: endpointse- version 1.0do ficheiro- app.yamlda sua aplicação na secção- libraries. Por exemplo:- libraries: - name: endpoints #Remove version: 1.0 #Remove
- Na secção - librariesdo ficheiro- app.yaml, adicione o seguinte:- libraries: - name: pycrypto version: 2.6 - name: ssl version: 2.7.11- Os frameworks de endpoints requerem estas versões das bibliotecas - pycryptoe- ssl.
- Na secção - handlersdo ficheiro- app.yaml, altere a diretiva- urlde- - url: /_ah/spi/.*para- - url: /_ah/api/.*.
- No diretório raiz da sua aplicação, crie ou modifique um ficheiro denominado - appengine_config.pypara incluir o seguinte:- from google.appengine.ext import vendor vendor.add('lib')
- Verifique a string da versão da API. A string de versão, especificada no decorador - @endpoints.api(version='v1', ...), aparece no caminho da API. Se especificar uma string de versão compatível com a norma SemVer, apenas o número da versão principal aparece no caminho da API quando implementa a API. Por exemplo, uma API denominada- echocom a versão- 2.1.0teria um caminho como- /echo/v2. Se atualizar a API- echopara a versão- 2.2.0e implementar uma alteração retrocompatível, o caminho permanece- /echo/v2. Isto permite-lhe atualizar o número da versão da API quando faz uma alteração compatível com versões anteriores sem interromper os caminhos existentes para os seus clientes. No entanto, se atualizar a API- echopara a versão- 3.0.0(porque está a implementar uma alteração interruptiva), o caminho é alterado para- /echo/v3.
- Volte a implementar a sua aplicação Endpoints Frameworks. 
Validar uma nova implementação
Para verificar se a nova estrutura está a publicar tráfego:
- Envie alguns pedidos para a nova implementação.
- Visite a página do Cloud Logging para o seu projeto.
 
- Se os pedidos forem apresentados com caminhos que começam por /_ah/api, significa que a versão 2.0 dos Frameworks de Endpoints está a publicar a sua API. Os registos não devem apresentar pedidos com caminhos que comecem por/_ah/spi. Estes pedidos indicam que o proxy da versão 1.0 dos Endpoints continua a publicar pedidos.
Adicionar gestão de APIs
A versão 2.0 do Endpoints Frameworks adiciona funcionalidades de gestão de APIs, incluindo:
- Gestão de chaves da API
- Partilha de APIs
- Autenticação do utilizador
- Métricas da API
- Registos da API
Para começar, aceda à página Começar a usar os frameworks de endpoints para Python.
Resolução de problemas
Esta secção descreve comportamentos irregulares comuns ao migrar para a versão 2.0 dos Frameworks de Endpoints e as soluções sugeridas.
A API devolve erros 404, mas o Explorador de APIs continua a listar as APIs corretamente
Tem de remover a configuração dos pontos finais da versão 1.0 antiga
quando migrar para a versão 2.0 dos Frameworks de pontos finais. Se a configuração antiga ainda estiver presente na configuração da aplicação, o serviço Endpoints continua a tratar a app como uma app da versão 1.0. Pode ver pedidos nos registos do App Engine enviados para /_ah/spi, o que resulta em erros HTTP 404 enviados para o cliente.
- Remova as seguintes linhas do ficheiro - app.yaml, se estiverem presentes:- handlers: - url: /_ah/spi/.* script: ...
- Certifique-se de que a secção - handlersno ficheiro- app.yamltem o caminho correto:- handlers: # The endpoints handler must be mapped to /_ah/api. - url: /_ah/api/.* script: ...
Mensagem de erro: ImportError: cannot import name locked_file
Isto acontece se as suas dependências contiverem uma versão da biblioteca oauth2client que não é compatível com o App Engine. Consulte o problema conhecido.