Anda harus menentukan server web yang menggunakan API atau API yang telah Anda buat. Cloud Endpoints Frameworks for Python menerapkan Web Server Gateway Interface (WSGI) standar untuk merutekan permintaan ke API Anda 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 menentukan server web:
Buat modul Python, misalnya
main.py
, dan buat objekendpoints.api_server
di tingkat teratas:Kode
api = endpoints.api_server([EchoApi])
membuat aplikasi WSGI yang merutekan permintaan API ke metode dalam classEchoAPI
.Anda dapat memberikan daftar objek
remote.Service
(yang Anda tentukan saat Anda membuat API) keendpoints.api_server
. Jika Anda memiliki API yang diimplementasikan di beberapa class, objekremote.Service
Anda adalah kumpulan class seperti yang dijelaskan dalam Membuat API yang diimplementasikan dengan beberapa class.Apakah Anda membuat 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 Anda tidak perlu mengimpor class lain.
Dalam 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
.
Menayangkan API Anda dari jalur yang berbeda
Opsional: Untuk menayangkan API 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 Endpoints Frameworks untuk Python
Endpoints Frameworks 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 tingkat log yang telah ditentukan sebelumnya. Dalam urutan tingkat keparahan yang meningkat, tingkat log adalah:
Tingkat log | Deskripsi |
---|---|
DEBUG |
Memberikan log mendetail. Biasanya, Anda hanya menyetel level ini saat memecahkan masalah. |
INFO |
Level log default untuk Endpoints Frameworks. Memungkinkan Anda melacak progres aplikasi pada tingkat tinggi. |
WARNING |
Memberi tahu Anda bahwa terjadi sesuatu yang tidak terduga, tetapi aplikasi dapat dipulihkan dan tetap berjalan normal. |
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 ditutup. |
Logger ada dalam hierarki yang dipisahkan dengan titik. Misalnya, pencatat
endpoints.api_config
adalah turunan dari pencatat endpoints
. Hierarki ini
memberi Anda kontrol yang akurat atas log mana yang dikeluarkan atau dihentikan. Biasanya,
Anda hanya mengubah dua logger root untuk Endpoints Frameworks:
endpoints
dan endpoints_management
.
Mengaktifkan logging DEBUG
untuk Endpoints Frameworks
Untuk menghindari kelebihan beban pada pembaca log, Endpoints Frameworks menetapkan logger-nya hanya untuk merekam entri log dengan level log INFO
atau yang lebih tinggi. Kapan saja setelah Endpoints Frameworks diimpor ke dalam modul, Anda dapat mengubah tingkat 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.