ID region
REGION_ID adalah kode singkat yang ditetapkan Google berdasarkan region yang Anda pilih saat membuat aplikasi. Kode ini tidak sesuai dengan negara atau provinsi, meskipun beberapa ID region mungkin tampak mirip dengan kode negara dan provinsi yang umum digunakan. Untuk aplikasi yang dibuat setelah Februari 2020, REGION_ID.r disertakan dalam URL App Engine. Untuk aplikasi lama yang dibuat sebelum tanggal tersebut, ID region bersifat opsional dalam URL.
Pelajari ID region lebih lanjut.
Menggunakan informasi pengguna yang diautentikasi untuk menyimpan dan mengambil data spesifik per pengguna, serta mempersonalisasi pengalaman setiap pengguna dengan layanan web Anda.
Pada langkah sebelumnya, Anda telah memperbarui layanan web untuk menampilkan sepuluh permintaan terakhir dari semua pengguna. Pada langkah ini, Anda akan menggunakan informasi pengguna yang diautentikasi untuk mengupdate layanan web Anda, sehingga halaman tersebut hanya menampilkan daftar sepuluh permintaan terakhir yang dibuat oleh pengguna yang saat ini diautentikasi.
Sebelum Memulai
Jika Anda telah menyelesaikan semua langkah sebelumnya dalam panduan ini, lewati bagian ini. Jika tidak, selesaikan salah satu langkah berikut:
Mulai dari Membangun Aplikasi Python 3 dan selesaikan semua langkah menuju langkah ini.
Jika sudah memiliki projectGoogle Cloud , Anda dapat melanjutkan dengan mendownload salinan layanan web dan menambahkan Firebase:
Download repositori aplikasi contoh menggunakan Git:
git clone https://github.com/GoogleCloudPlatform/python-docs-samplesAtau, Anda dapat mendownload sampel sebagai file zip, lalu mengekstraknya.
Buka direktori yang berisi salinan file dari langkah sebelumnya:
cd python-docs-samples/appengine/standard_python3/building-an-app/building-an-app-3Tambahkan Firebase ke project Google Cloud dan layanan web Anda.
Menyimpan dan mengambil data spesifik per pengguna
Anda dapat menunjukkan bahwa data terhubung ke pengguna tertentu dengan menggunakan ancestor Firestore dalam mode Datastore (Datastore), yang memungkinkan Anda mengatur data Datastore secara hierarkis.
Untuk melakukannya, selesaikan langkah-langkah berikut:
Update metode
store_timedanfetch_timeAnda untuk menggunakan ancestor Datastore untuk menyimpan dan mengambil entityvisit:Setiap entity
visitkini memiliki ancestor yang terhubung dengannya. Ancestor ini adalah entity Datastore yang mewakili setiap pengguna yang diautentikasi. Setiap key ancestor menyertakan kindUserdan ID kustom, yang merupakan alamat email pengguna yang diautentikasi. Anda menggunakan kunci ancestor untuk membuat kueri database hanya untuk waktu yang terkait dengan pengguna tertentu.Update panggilan metode
store_timesdalam metoderootAnda dan pindahkan ke dalam kondisionalid_tokensehingga hanya berjalan jika server telah mengautentikasi pengguna:
Mengonfigurasi indeks
Datastore membuat kueri berdasarkan indeks. Untuk entity sederhana, Datastore otomatis membuat indeks ini. Namun, metode ini tidak dapat membuat indeks secara otomatis untuk entity yang lebih rumit, termasuk yang memiliki ancestor.
Oleh karena itu, Anda perlu membuat indeks untuk entity visit secara manual sehingga Datastore dapat menjalankan kueri yang melibatkan entity visit.
Untuk membuat indeks bagi entity visit, selesaikan langkah-langkah berikut:
Buat file
index.yamldi direktori utama project Anda, misalnyabuilding-an-app, lalu tambahkan indeks berikut:Deploy indeks
index.yamlAnda di Datastore dengan menjalankan perintah berikut dan mengikuti prompt-nya:gcloud datastore indexes create index.yaml
Datastore perlu waktu beberapa saat untuk membuat indeks. Membuat indeks sebelum men-deploy layanan web ke App Engine memungkinkan Anda melakukan pengujian secara lokal menggunakan indeks tersebut dan mencegah pengecualian yang mungkin terjadi untuk kueri yang memerlukan indeks yang masih dalam proses pembuatan.
Untuk informasi lebih lanjut tentang pembuatan indeks Datastore, lihat Mengonfigurasi Indeks Datastore.
Menguji layanan web Anda
Uji layanan web Anda dengan menjalankannya secara lokal di lingkungan virtual:
Jalankan perintah berikut di direktori utama project untuk menjalankan layanan web Anda. Jika Anda belum menyiapkan lingkungan virtual untuk pengujian lokal, lihat menguji layanan web Anda.
python main.pyMasukkan alamat berikut di browser web untuk melihat layanan web Anda:
http://localhost:8080
Men-deploy layanan web Anda
Setelah Datastore berfungsi secara lokal, Anda dapat men-deploy ulang layanan web ke App Engine.
Jalankan perintah berikut dari direktori utama project,
tempat file app.yaml Anda berada:
gcloud app deploy
Semua traffic akan otomatis dirutekan ke versi baru yang Anda deploy.
Untuk mengetahui informasi selengkapnya tentang mengelola versi, lihat Mengelola Layanan dan Versi.
Melihat layanan Anda
Untuk meluncurkan browser dan mengakses layanan web dengan cepat
di https://PROJECT_ID.REGION_ID.r.appspot.com, jalankan perintah berikut:
gcloud app browse
Langkah Berikutnya
Selamat! Anda telah berhasil membuat layanan web yang menggunakan penyimpanan data Datastore dan autentikasi Firebase untuk memberikan halaman web yang dipersonalisasi kepada pengguna yang diautentikasi.
Sekarang, Anda dapat membersihkannya dengan mematikan atau menonaktifkan penagihan untuk project Anda.