Anda tidak dapat menggunakan dev_appserver.py
versi terbaru untuk menjalankan aplikasi secara lokal
untuk runtime yang mencapai akhir dukungan.
Untuk terus menggunakan versi dev_appserver.py
yang diarsipkan, ikuti petunjuk dalam panduan ini.
Anda dapat menggunakan server pengembangan lokal untuk menyimulasikan menjalankan aplikasi App Engine dalam produksi, serta menggunakannya untuk mengakses layanan paket lama App Engine. Lingkungan simulasi menerapkan beberapa pembatasan sandbox, seperti fungsi sistem terbatas dan impor modul bahasa runtime, tetapi tidak yang lainnya, seperti waktu tunggu atau kuota permintaan.
Server pengembangan lokal juga menyimulasikan layanan yang disediakan oleh library di SDK untuk App Engine, termasuk Datastore, Memcache, dan Task Queues, dengan menjalankan tugasnya secara lokal. Saat aplikasi Anda berjalan di server pengembangan, Anda masih dapat melakukan panggilan API jarak jauh ke infrastruktur produksi menggunakan endpoint HTTP Google API.
Sebelum memulai
Untuk mendownload versi arsip devapp_server.py
, ikuti langkah-langkah berikut:
Dari arsip, download folder zip yang berisi server
dev_appserver.py
untuk runtime yang telah mencapai akhir dukungan.Ekstrak konten direktori ke sistem file lokal Anda, seperti ke direktori
/home
. Anda dapat menemukandev_appserver.py
di direktorigoogle_appengine/
.
Menyiapkan server pengembangan lokal
Untuk menjalankan alat server pengembangan lokal, Anda harus menyiapkan hal-hal berikut:
Pastikan Anda telah menginstal penafsir Python 2 versi 2.7.12 atau yang lebih baru.
Tetapkan variabel lingkungan
DEVAPPSERVER_PYTHON
di shell ke jalur penafsir Python 2 Anda.Cari alat
dev_appserver.py
di folder/google_appengine/
tempat Anda mengekstrak arsip yang didownload, misalnya:DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py
Menjalankan server pengembangan lokal
Setelah menyiapkan server pengembangan lokal dan membuat
file konfigurasi app.yaml
untuk
aplikasi, Anda dapat menggunakan perintah dev_appserver.py
untuk menjalankan aplikasi secara lokal.
Untuk memulai server pengembangan lokal:
-
Dalam direktori yang berisi file konfigurasi
app.yaml
Anda, jalankan perintahdev_appserver.py
.Tentukan jalur direktori ke aplikasi Anda, misalnya:
python2 DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py --runtime_python_path=/usr/bin/python2 [PATH_TO_YOUR_APP]
Anda juga dapat menyetel argumen ke daftar pasangan
[RUNTIME_ID]=[PYTHON_INTERPRETER_PATH]
yang dipisahkan koma. Contoh:python2 DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py --runtime_python_path="python27=/usr/bin/python2.7" [PATH_TO_YOUR_APP]
Untuk mengubah port, sertakan opsi
--port
:python2 DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py --runtime_python_path=/usr/bin/python2 --port=9999 [PATH_TO_YOUR_APP]
Ganti DEVAPPSERVER_ROOT dengan jalur ke folder tempat Anda mengekstrak versi yang diarsipkan dari
devapp_server.py
. - Server pengembangan lokal sekarang berjalan dan memproses permintaan. Anda
dapat membuka http://localhost:8080/ di browser
web Anda untuk melihat cara kerja aplikasi.
Jika Anda menentukan port kustom dengan opsi
--port
, jangan lupa untuk membuka browser Anda ke port tersebut.
Untuk menghentikan server lokal dari command line, tekan tombol berikut:
- macOS atau Linux: Control+C
- Windows: Control+Break
Tentukan ID aplikasi
Untuk mengakses ID Aplikasi Anda di server lokal, misalnya untuk melakukan spoofing terhadap alamat
email, gunakan fungsi get_application_id()
.
Untuk mendapatkan nama host aplikasi yang sedang berjalan, gunakan fungsi get_default_version_hostname()
.
Deteksi lingkungan runtime aplikasi
Untuk menentukan apakah kode Anda berjalan di produksi atau di server pengembangan lokal, Anda dapat memeriksa nilai variabel lingkungan GAE_ENV
:
if os.getenv('GAE_ENV', '').startswith('standard'):
# Production in the standard environment
else:
# Local development server
Gunakan layanan Email
Server pengembangan lokal dapat mengirim email untuk panggilan ke layanan email App Engine menggunakan server SMTP atau penginstalan lokal Sendmail.
Menggunakan SMTP
Untuk mengaktifkan dukungan email dengan server SMTP, panggil dev_appserver.py
seperti
berikut:
python2 DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py --smtp_host=smtp.example.com --smtp_port=25 \
--smtp_user=ajohnson --smtp_password=k1tt3ns PATH_TO_YOUR_APP
Ganti:
- DEVAPPSERVER_ROOT dengan jalur ke folder tempat Anda
mengekstrak versi yang diarsipkan dari
devapp_server.py
. - Opsi
--smtp_host
,--smtp_port
,--smtp_user
, dan--smtp_password
dengan nilai konfigurasi Anda sendiri. - PATH_TO_YOUR_APP dengan jalur ke aplikasi Anda.
Menggunakan Sendmail
Untuk mengaktifkan dukungan email dengan Sendmail, panggil dev_appserver.py
sebagai berikut:
python2 DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py --enable_sendmail=yes PATH_TO_YOUR_APP
Ganti:
- DEVAPPSERVER_ROOT dengan jalur ke folder tempat Anda
mengekstrak versi yang diarsipkan dari
devapp_server.py
. - PATH_TO_YOUR_APP dengan jalur ke aplikasi Anda.
Server lokal menggunakan perintah sendmail
untuk mengirim pesan email dengan konfigurasi default penginstalan Anda.
Menggunakan layanan URL Fetch
Jika aplikasi Anda menggunakan URL fetch API untuk membuat permintaan HTTP, server pengembangan lokal akan membuat permintaan tersebut langsung dari komputer Anda. Perilaku URL Fetch di server lokal dapat berbeda dengan App Engine produksi jika Anda menggunakan server proxy untuk mengakses situs.
Menggunakan layanan Pengguna
App Engine menyediakan Layanan pengguna untuk menyederhanakan autentikasi dan otorisasi bagi aplikasi Anda. Server pengembangan lokal menyimulasikan perilaku Akun Google dengan halaman login dan logoutnya sendiri.
Saat berjalan di server
pengembangan lokal, fungsi tersebut menampilkan URL untuk /_ah/login
dan /_ah/logout
di server lokal.
Argumen command line
Untuk opsi perintah server pengembangan lokal, lihat Opsi server pengembangan lokal.