Configuração e arquivos obrigatórios

Seu projeto deve conter, no mínimo, os seguintes arquivos:

Arquivo e localização Descrição
/src/<your_api_class>.py O arquivo de classe (ou arquivos, se você implementar a API em várias classes) com a API de back-end.
/src/<your_api_server>.py Arquivo opcional contendo o código de servidor da API, se você não o incluir na classe da API.
/src/app.yaml O descritor de implantação do app da Web necessário para a configuração do App Engine.

O conteúdo de cada um desses arquivos obrigatórios está documentado nas seções seguintes.

O arquivo de classe da API

Os conteúdos obrigatórios e opcionais do arquivo de classe, ou arquivos se você usar uma API de várias classes, são totalmente descritos no tópico Como criar uma API Endpoints.

O arquivo do servidor de API

Este arquivo e o conteúdo dele são descritos completamente em Como criar um servidor da Web.

app.yaml

O conteúdo básico mínimo necessário para esse arquivo é o seguinte:

# Copyright 2021 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

runtime: python27
threadsafe: true
api_version: 1
basic_scaling:
  max_instances: 2

skip_files:
- ^(.*/)?#.*#$
- ^(.*/)?.*~$
- ^(.*/)?.*\.py[co]$
- ^(.*/)?.*/RCS/.*$
- ^(.*/)?\..*$
- ^(.*/)?setuptools/script \(dev\).tmpl$

handlers:
# The endpoints handler must be mapped to /_ah/api.
- url: /_ah/api/.*
  script: main.api

libraries:
- name: pycrypto
  version: 2.6
- name: ssl
  version: 2.7.11

env_variables:
  # The following values are to be replaced by information from the output of
  # 'gcloud endpoints services deploy swagger.json' command.
  ENDPOINTS_SERVICE_NAME: YOUR-PROJECT-ID.appspot.com
  ENDPOINTS_SERVICE_VERSION: 2016-08-01r0

em que:

  • main é o nome do módulo e da variável do Python do seu servidor de API.
  • Defina threadsafe como "true" se você quiser que o App Engine envie várias solicitações em paralelo ou como "false" se quiser que ele envie solicitações em série.

Há outras configurações disponíveis, mas são opcionais. Consulte a referência de app.yaml para mais informações. No entanto, observe que as informações em Como exigir login ou status de administrador e URLs seguros não se aplicam a APIs de back-end.