Configuration et fichiers requis

Votre projet doit contenir au minimum les fichiers suivants :

Fichier et emplacement Description
/src/<your_api_class>.py Fichier de classe (ou plusieurs fichiers, si vous mettez en œuvre l'API dans différentes classes) contenant l'API backend.
/src/<your_api_server>.py Fichier facultatif contenant le code du serveur d'API, si vous ne l'incluez pas dans la classe d'API.
/src/app.yaml Descripteur de déploiement d'applications Web requis pour la configuration d'App Engine.

Le contenu de chacun des fichiers requis est détaillé dans les sections suivantes.

Fichier de classe de l'API

Le contenu obligatoire et facultatif du fichier de classe (ou des fichiers, si vous utilisez une API multiclasse) est décrit en détail dans l'article Créer une API Endpoints.

Fichier du serveur d'API

La page Créer un serveur Web contient une description détaillée de ce fichier et de son contenu.

app.yaml

Le contenu minimum requis pour ce fichier est le suivant :

# 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

où :

  • main est le nom du module Python et de la variable du serveur d'API.
  • threadsafe est défini sur "true" (vrai) si vous souhaitez qu'App Engine envoie plusieurs requêtes en parallèle ou sur "false" (faux) si vous souhaitez qu'App Engine envoie les requêtes en série.

Des paramètres supplémentaires, mais facultatifs, sont disponibles. Pour plus d'informations, consultez la documentation de référence sur app.yaml. Toutefois, notez que les informations des sections Demander une connexion ou des droits d'administrateur et URL sécurisées ne s'appliquent pas aux API backend.