Halaman ini berisi masalah umum di Cloud Endpoints Frameworks.
Java dan Python
Bagian ini menjelaskan masalah umum yang memengaruhi Framework Endpoints versi Java dan Python.
Waktu tunggu permintaan maksimum
Untuk API yang menggunakan Endpoints Frameworks versi 2, batas waktu permintaan maksimum adalah 60 detik.
Migrasi Endpoints Frameworks
Saat memigrasikan API ke Endpoints Frameworks versi 2, Anda harus men-deploy API ke aplikasi App Engine baru. Jika menggunakan kembali aplikasi App Engine lama, permintaan yang dimulai dengan jalur versi 1, /_ah/spi
, mungkin dirutekan ke backend Endpoints Frameworks 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. Endpoints Frameworks menggunakan thread latar belakang, yang tidak didukung oleh instance penskalaan otomatis. Framework Endpoints harus berkomunikasi dengan layanan Google untuk memeriksa kuota dan melaporkan aktivitas API, serta hal-hal lainnya. Untuk instance penskalaan manual dan dasar, thread latar belakang melakukan komunikasi ini untuk menghindari perlambatan permintaan. Namun, instance penskalaan otomatis tidak mendukung thread latar belakang. Sebagai gantinya, komunikasi dengan layanan Google terjadi selama permintaan. Frameworks Endpoint masih berfungsi, tetapi dengan performa yang berpotensi berkurang.
Karena masalah ini, sebaiknya Anda 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 menolak dokumen OpenAPI yang menyertakan jalur dengan garis miring
di akhir, misalnya:
paths: "/echo/": post: description: "Echo back a given message."
Di Endpoints Frameworks, Anda harus menghapus garis miring di akhir dalam dekorator metode Python atau anotasi metode Java.
Java
Bagian ini menjelaskan masalah umum di Endpoints Frameworks untuk Java.
Cloud Endpoints Frameworks untuk Java - versi 1.0.14 atau yang lebih lama
Mencakup masalah saat kolom baru di Konfigurasi Layanan Google menyebabkan library Java Cloud Endpoints Frameworks gagal saat mengurai Konfigurasi Layanan. Error akan terlihat seperti berikut saat menggunakan konfigurasi layanan yang dibuat setelah 5 Desember 2024:
Failed to parse the HTTP response as service configuration
com.google.api.config.ServiceConfigException: Failed to parse the HTTP response as service configuration
Lihat catatan rilis untuk mengetahui informasi selengkapnya tentang upgrade ke versi 1.0.15 atau yang lebih baru.
Framework Endpoints Java Legacy (v1)
Frameworks Endpoint versi 1 untuk Java memiliki bug yang memunculkan pengecualian saat enum diberi anotasi. 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 Endpoints Frameworks 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 dalam file requirements.txt
Anda, misalnya:
Tambahkan persyaratan lainnya setelah baris ini.
API menampilkan error 404
saat pengujian dilakukan 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
merespons seperti yang diharapkan. Masalah ini telah diamati di aplikasi yang menggunakan
library Django-six.
Masalah ini disebabkan oleh konflik versi antara library python-future
, yang disertakan dalam library Endpoints Frameworks untuk Python dan library Django-six. Versi pasti library Django-six yang menyebabkan konflik tidak diketahui saat ini.