Halaman ini berisi masalah umum di Framework Cloud Endpoints.
Java dan Python
Bagian ini menjelaskan masalah umum yang memengaruhi Framework Endpoints versi Java dan Python.
Waktu tunggu permintaan maksimum
Untuk API yang menggunakan Framework Endpoint versi 2, waktu tunggu permintaan maksimum adalah 60 detik.
Migrasi Framework Endpoints
Saat memigrasikan API ke Endpoints Frameworks versi 2, Anda harus men-deploy API ke aplikasi App Engine baru. Jika Anda menggunakan kembali aplikasi App Engine lama, permintaan yang dimulai dengan jalur versi 1, /_ah/spi
, mungkin akan dirutekan ke backend Endpoints Framework versi 2, yang mengharapkan jalur dimulai dengan /_ah/api
.
Performa buruk pada instance penskalaan otomatis
App Engine menawarkan tiga jenis penskalaan: dasar, manual, dan otomatis. Framework Endpoints menggunakan thread latar belakang, yang tidak didukung oleh instance penskalaan otomatis. Framework Endpoint harus berkomunikasi dengan layanan Google untuk memeriksa kuota dan melaporkan aktivitas API, dan sebagainya. Untuk instance penskalaan dasar dan manual, thread latar belakang melakukan komunikasi ini untuk menghindari perlambatan permintaan. Namun, instance penskalaan otomatis tidak mendukung thread latar belakang. Sebaliknya, komunikasi dengan layanan Google terjadi selama permintaan. Framework Endpoints masih berfungsi, tetapi dengan performa yang berpotensi menurun.
Karena masalah ini, Anda mungkin ingin mengonfigurasi jenis penskalaan lain. Lihat bagian berikut dalam dokumentasi App Engine:
Jalur dengan garis miring di akhir tidak didukung
Saat Anda men-deploy dokumen OpenAPI menggunakan gcloud endpoints services deploy
, Cloud Endpoints akan menolak dokumen OpenAPI yang menyertakan jalur dengan garis miring di akhir, misalnya:
paths: "/echo/": post: description: "Echo back a given message."
Di Framework Endpoint, Anda harus menghapus garis miring di akhir pada dekorator metode Python atau anotasi metode Java.
Java
Bagian ini menjelaskan masalah umum di Framework Endpoint untuk Java.
Framework Java Endpoints Lama (v1)
Framework Endpoint versi 1 untuk Java memiliki bug yang menampilkan pengecualian saat enum dianotasi. Masalah ini disebabkan oleh dependensi pada Jackson versi lama. Untuk mengatasi masalah ini, Anda harus bermigrasi ke Endpoints Frameworks versi 2.
Python
Bagian ini menjelaskan masalah umum di Framework Endpoint untuk Python.
Pesan error: ImportError: cannot import name locked_file
Saat menjalankan pip install
dengan file requirements.txt
, Anda mungkin mendapatkan pesan error ImportError: cannot import name locked_file
. Masalah ini
terjadi saat pip
menginstal versi paket oauth2client
yang
tidak kompatibel dengan google-endpoints-api-management
. Untuk mengatasi masalah ini,
pastikan baris google-endpoints
dan google-endpoints-api-management
muncul terlebih dahulu di file requirements.txt
Anda, misalnya:
Tambahkan persyaratan lain setelah baris ini.
API menampilkan 404
error saat melakukan pengujian secara lokal
Gejala: Semua endpoint menampilkan 404
saat Anda menggunakan dev_appserver.py
untuk menguji
API secara lokal, tetapi saat Anda men-deploy API ke App Engine, endpoint akan merespons seperti yang diharapkan. Masalah ini telah diamati pada aplikasi
yang menggunakan
library Django-six.
Masalah ini disebabkan oleh konflik versi antara library python-future
,
yang disertakan dalam Framework Endpoint untuk library Python
dan library Django-six. Versi persis library Django-six yang menyebabkan
konflik tidak diketahui untuk saat ini.