必要なファイルと構成

プロジェクトは少なくとも以下のファイルを含んでいる必要があります。

ファイルと場所 説明
/src/<your_api_class>.py バックエンド API が含まれたクラスファイル(API が複数のクラスにアクセスするのであれば複数のファイルが必要です)。
/src/<your_api_server>.py API サーバーコードが API クラス内に含まれていない場合に必要となるオプションのファイル。
/src/app.yaml App Engine の構成に必要なウェブアプリのデプロイ記述子。

これら必要なファイルのそれぞれの内容は以下のセクションに記載されています。

API クラスファイル

クラスファイル(マルチクラス API を使用する場合は複数のファイル)の内容のどの部分が必須で、どの部分が省略可能であるかについては、Endpoints API の作成のトピックで詳しく説明しています。

API サーバー ファイル

このファイルとその内容の説明については、ウェブサーバーの作成をご覧ください。

app.yaml

このファイルでは最低でも次の内容が必要になります。

# 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

ここで

  • main は API サーバーの Python モジュールの名前と変数です。
  • threadsafe は、App Engine で複数のリクエストを並列して送信する場合は true、順番に送信する場合は false に設定します。

追加のオプション設定が利用できます。詳細については、app.yaml リファレンスをご覧ください。ただし、「ログインまたは管理者のステータスの要求」と「セキュア URL」の情報は、バックエンド API には該当しないことに注意してください。