Anda harus menentukan server web yang menggunakan API atau API yang Anda buat. Framework Cloud Endpoints untuk Python menerapkan Antarmuka Gateway Server Web (WSGI) standar untuk mengarahkan permintaan ke API ke metode dalam kode Anda.
Seperti setiap aplikasi yang berjalan di App Engine, Anda harus membuat file
bernama app.yaml
tempat Anda
mengonfigurasi setelan aplikasi App Engine. Untuk menentukan server web,
Anda membuat perubahan pada file app.yaml
.
Untuk mendefinisikan server web:
Buat modul Python, misalnya
main.py
, dan buat objekendpoints.api_server
di level atas:Kode
api = endpoints.api_server([EchoApi])
membuat aplikasi WSGI yang merutekan permintaan API ke metode di classEchoAPI
.Anda dapat memberikan daftar objek
remote.Service
(yang Anda tentukan saat membuat API) keendpoints.api_server
. Jika Anda memiliki API yang diterapkan dalam beberapa class, objekremote.Service
adalah kumpulan class seperti yang dijelaskan dalam Membuat API yang diterapkan dengan beberapa class.Pembuatan modul terpisah untuk objek
endpoints.api_server
bergantung pada apakah Anda membuat satu API atau beberapa API.Jika Anda membuat beberapa API (menggunakan beberapa subclass
remote.Service
) yang ditentukan dalam beberapa file, sebaiknya buat modul terpisah untuk objekendpoints.api_server
agar Anda dapat mengimpor semua file class.Jika membuat satu API, Anda dapat menambahkan kode
endpoints.api_server
yang diperlukan ke modul tempat Anda menentukan API karena tidak perlu mengimpor class lain.
Di file
app.yaml
, petakan server web yang baru saja Anda buat ke lokasi Cloud Endpoints sebagai berikut:dengan
main
adalah modul Python tempat Anda menentukan objekendpoints.api_server
.
Menyajikan API Anda dari jalur yang berbeda
Opsional: Untuk menyalurkan API Anda dari jalur yang berbeda, misalnya /api/
:
Ubah dekorator:
@endpoints.api(name='echo', version='v1', base_path='/api/')
Ubah bagian
handlers
dalam fileapp.yaml
:handlers: - url: /api/.* script: main.api
Logging di Framework Endpoint untuk Python
Framework Endpoint untuk Python menggunakan modul logging Python standar untuk mencatat informasi tentang status aplikasi dan siklus proses permintaan. Untuk mempelajari lebih lanjut log App Engine dan cara melihatnya, tinjau Membaca dan menulis log aplikasi dalam dokumentasi App Engine.
Modul logging Python menyediakan level log yang telah ditetapkan. Dalam urutan keparahan yang meningkat, level log adalah:
Level log | Deskripsi |
---|---|
DEBUG |
Menyediakan log mendetail. Biasanya Anda menetapkan tingkat ini hanya saat memecahkan masalah. |
INFO |
Level log default untuk Framework Endpoint. Memungkinkan Anda melacak progres aplikasi di tingkat tinggi. |
WARNING |
Memberi tahu Anda bahwa terjadi hal yang tidak terduga, tetapi aplikasi dapat dipulihkan dan tetap berjalan seperti biasa. |
ERROR |
Memberi tahu Anda bahwa terjadi error yang dapat menyebabkan hilangnya beberapa fungsi, tetapi aplikasi masih berjalan. |
CRITICAL |
Memberi tahu Anda bahwa terjadi error atau peristiwa serius yang dapat menyebabkan aplikasi dimatikan. |
Logger berada dalam hierarki yang dipisahkan titik. Misalnya, endpoints.api_config
logger
adalah turunan dari endpoints
logger. Hierarki ini memberi Anda kontrol yang akurat atas log yang dikeluarkan atau ditekan. Biasanya,
Anda hanya mengubah dua logger root untuk Framework Endpoint:
endpoints
dan endpoints_management
.
Mengaktifkan logging DEBUG
untuk Framework Endpoint
Agar pembaca log tidak kelebihan beban, Framework Endpoints menetapkan
logger-nya agar hanya mencatat entri log dengan level log INFO
atau yang lebih tinggi. Kapan
saja setelah Framework Endpoint diimpor ke modul, Anda dapat mengubah level log sebagai berikut:
import logging
logging.getLogger('endpoints').setLevel(logging.DEBUG)
logging.getLogger('endpoints_management').setLevel(logging.DEBUG)
Metode setLevel
menetapkan level log minimum untuk logger.