Defina um servidor da Web que use a API ou APIs que você criou. O Cloud Endpoints Frameworks para Python implementa a interface de gateway do servidor da Web (WSGI, em inglês) padrão para rotear solicitações da sua API para os métodos no seu código.
Como sempre, é preciso criar um arquivo chamado app.yaml em que você configura o aplicativo do App Engine. Para definir o servidor da Web, faça alterações no arquivo app.yaml.
Para definir um servidor da Web:
- Crie um módulo Python, por exemplo, - main.pye crie um objeto- endpoints.api_serverno nível superior:- O código - api = endpoints.api_server([EchoApi])cria um aplicativo WSGI que encaminha solicitações de API para os métodos na classe- EchoAPI.- Você pode fornecer uma lista de objetos - remote.Servicedefinidos quando você criou sua API para- endpoints.api_server. Se você tiver uma API implementada em várias classes, o objeto- remote.Serviceserá uma coleção de classes conforme descrito em Como criar uma API implementada com várias classes.- A criação de um módulo separado para o objeto - endpoints.api_serverdepende de se você criou uma única API ou várias.- Se você tiver criado várias APIs (que usam várias subclasses - remote.Service) definidas em vários arquivos, recomendamos que crie um módulo separado para o objeto- endpoints.api_serverpara importar todos os arquivos de classe.
- Se você criou uma única API, será possível adicionar o código - endpoints.api_servernecessário ao módulo em que a API é definida, já que não é necessário importar outras classes.
 
- No seu arquivo - app.yaml, mapeie o servidor da Web que você acabou de criar para o local do Cloud Endpoints da seguinte maneira:- em que - mainé o módulo do Python em que você definiu o objeto- endpoints.api_server.
Como exibir sua API de um caminho diferente
Opcional: para exibir a API a partir de um caminho diferente, por exemplo, /api/:
- Modifique o decorador: - @endpoints.api(name='echo', version='v1', base_path='/api/')
- Altere a seção - handlersno arquivo- app.yaml:- handlers: - url: /api/.* script: main.api
Como gerar registros no Endpoints Frameworks para Python
O Endpoints Frameworks para Python usa o módulo de registro padrão do Python para registrar informações sobre o status do aplicativo e o ciclo de vida da solicitação. Para saber mais sobre os registros do App Engine e sobre como visualizá-los, consulte Como ler e gravar registros de aplicativos na documentação do App Engine.
O módulo de geração de registros do Python fornece níveis de registros predefinidos. Em ordem crescente de gravidade, os níveis de registros são:
| Nível de registro | Descrição | 
|---|---|
| DEBUG | Fornece registros detalhados. Normalmente, esse nível só é definido ao solucionar um problema. | 
| INFO | O nível de registro padrão para o Endpoints Frameworks. Permite rastrear o progresso do aplicativo em um alto nível. | 
| WARNING | Alerta que algo inesperado ocorreu, mas o aplicativo consegue se recuperar e ser executado normalmente. | 
| ERROR | Alerta sobre um erro que pode causar perda de funcionalidade, mas o aplicativo ainda está em execução. | 
| CRITICAL | Alerta sobre um erro ou evento grave que pode encerrar o aplicativo. | 
Os loggers existem em uma hierarquia separada por pontos. Por exemplo, o logger endpoints.api_config é filho do logger endpoints. Essa hierarquia permite um controle preciso sobre quais registros são emitidos ou suprimidos. Normalmente, só são alterados os dois loggers raiz para o Endpoints Frameworks: endpoints e endpoints_management.
Habilitar a geração de registros DEBUG para o Endpoints Frameworks
Para evitar sobrecarregar o leitor de registro, o Endpoints Frameworks configura seus loggers para registrar apenas entradas de log com o nível INFO ou superior. Em qualquer momento depois de o Endpoints Frameworks ter sido importado para o módulo, é possível alterar o nível de registro da seguinte maneira:
import logging
logging.getLogger('endpoints').setLevel(logging.DEBUG)
logging.getLogger('endpoints_management').setLevel(logging.DEBUG)
O método setLevel define o nível mínimo de registro para o logger.