Mengonfigurasi aplikasi dengan app.yaml

Aplikasi App Engine dikonfigurasi menggunakan file app.yaml, yang berisi resource CPU, memori, jaringan dan disk, penskalaan, dan setelan umum lainnya, termasuk variabel lingkungan.

Tentang file app.yaml

Anda dapat menentukan konfigurasi runtime untuk aplikasi Python Anda, termasuk versi dan URL, di file app.yaml. File ini berfungsi sebagai deskriptor deployment versi layanan tertentu.

Anda harus membuat file app.yaml terlebih dahulu untuk layanan default aplikasi Anda sebelum dapat membuat dan men-deploy file app.yaml untuk layanan tambahan.

app.yaml berikut menunjukkan cara mengonfigurasi aplikasi untuk Python 3.7 dan yang lebih lama, serta 3.8 dan yang lebih baru. Perhatikan bahwa Anda harus meng-update file app.yaml untuk menggunakan versi baru. Lihat runtime Python untuk informasi selengkapnya tentang penggunaan versi baru.

v3.8 dan yang lebih baru

# 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: python
env: flex
entrypoint: gunicorn -b :$PORT main:app

runtime_config:
  operating_system: ubuntu22

# This sample incurs costs to run on the App Engine flexible environment.
# The settings below are to reduce costs during testing and are not appropriate
# for production use. For more information, see:
# https://cloud.google.com/appengine/docs/flexible/python/configuring-your-app-with-app-yaml
manual_scaling:
  instances: 1
resources:
  cpu: 1
  memory_gb: 0.5
  disk_size_gb: 10

v3.7 dan yang lebih lama

# 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: python
env: flex
entrypoint: gunicorn -b :$PORT main:app

runtime_config:
  python_version: 3

# This sample incurs costs to run on the App Engine flexible environment.
# The settings below are to reduce costs during testing and are not appropriate
# for production use. For more information, see:
# https://cloud.google.com/appengine/docs/flexible/python/configuring-your-app-with-app-yaml
manual_scaling:
  instances: 1
resources:
  cpu: 1
  memory_gb: 0.5
  disk_size_gb: 10

Bergantung pada kompleksitas layanan aplikasi, Anda mungkin hanya perlu mendefinisikan beberapa elemen dalam file app.yaml yang sesuai. Contoh berikut menunjukkan hal yang mungkin diperlukan aplikasi Python sederhana di lingkungan fleksibel:

Anda dapat menentukan nama unik untuk file app.yaml, tetapi kemudian Anda harus menentukan nama file dengan perintah deployment. Misalnya, jika Anda menamai file app.yaml sebagai service-name-app.yaml atau app.flexible.yaml, Anda harus men-deploy aplikasi menggunakan:

gcloud app deploy service-name-app.yaml
gcloud app deploy app.flexible.yaml
Untuk mempelajari lebih lanjut cara menyusun beberapa layanan dan file app.yaml dalam aplikasi Anda, baca Membuat struktur layanan web.

Semua elemen konfigurasi

Untuk mengetahui daftar lengkap semua elemen yang didukung dalam file konfigurasi ini, baca Referensi app.yaml.