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 Membuat Aplikasi Python 3 dan selesaikan semua langkah menuju langkah ini.
Jika sudah memiliki project Google 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-samples
Atau, 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-3
Penyimpanan dan pengambilan 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_time
danfetch_time
Anda untuk menggunakan ancestor Datastore untuk menyimpan dan mengambil entityvisit
:Setiap entity
visit
kini memiliki ancestor yang terhubung dengannya. Ancestor ini adalah entity Datastore yang mewakili setiap pengguna yang diautentikasi. Setiap key ancestor menyertakan kindUser
dan 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_times
dalam metoderoot
Anda dan pindahkan ke dalam kondisionalid_token
sehingga 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.yaml
di direktori utama project Anda, misalnyabuilding-an-app
, lalu tambahkan indeks berikut:Deploy indeks
index.yaml
Anda 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.py
Masukkan 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.