ID wilayah
REGION_ID
adalah kode singkat yang Google tetapkan
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 provinsi dan negara 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 ini, ID
region bersifat opsional dalam URL.
Pelajari ID region lebih lanjut.
dispatch.yaml
memungkinkan Anda mengganti aturan
pemilihan rute.
Anda dapat menggunakan dispatch.yaml
untuk mengirim permintaan masuk ke layanan tertentu
(sebelumnya dikenal sebagai modul) berdasarkan jalur atau nama host di URL.
Untuk informasi selengkapnya, lihat Cara Permintaan Dirutekan.
Aplikasi hanya dapat memiliki satu file dispatch.yaml
, dan aturan perutean dalam file tersebut
berlaku untuk semua layanan dan versi aplikasi.
Aturan perutean juga berlaku untuk URL yang digunakan dalam file cron
atau konfigurasi task queue.
Men-deploy file dispatch
File dispatch.yaml
harus berada di direktori root
atau di
direktori yang menentukan layanan default.
Sebelum men-deploy file dispatch, Anda harus memastikan bahwa semua layanan
yang ditentukan dalam file tersebut telah di-deploy ke App Engine. Untuk men-deploy
file dispatch.yaml
, jalankan
perintah gcloud app deploy
dari
direktori yang berisi dispatch.yaml
:
gcloud app deploy dispatch.yaml
Sintaks
Elemen root dalam file dispatch.yaml
adalah dispatch:
dan berisi daftar
definisi perutean yang ditentukan oleh subelemen berikut.
Aturan yang Anda tentukan dalam file dispatch harus menggunakan pola URL HTTP
yang menyertakan notasi ".
" untuk memisahkan subdomain. URL
yang ditentukan dengan notasi "-dot-
" HTTPS tidak didukung.
Aturan dispatch bergantung pada urutan, dan hanya aturan pertama yang cocok dengan URL yang akan diterapkan.
Elemen | Deskripsi |
---|---|
service |
Menentukan nama layanan yang akan menangani permintaan yang
cocok dengan pola |
url |
Dalam elemen
Tips: Anda dapat menyertakan pola glob seperti karakter pengganti
Pola URL yang dapat menyertakan nama host dan jalur URL. Karakter Glob dapat digunakan untuk mencocokkan pola. Karakter Glob hanya dapat ditentukan di awal pola dan di akhir pola.
Jalur URL yang dimulai dengan |
Contoh
Berikut adalah contoh file pengiriman yang merutekan permintaan ke https://simple-sample.uc.r.appspot.com
dan permintaan seperti https://simple-sample.uc.r.appspot.com/favicon.ico
ke layanan default
. Semua
konten statis disajikan dari layanan default
. Permintaan seluler seperti
https://simple-sample.uc.r.appspot.com/mobile/
dirutekan ke frontend seluler, dan
permintaan pekerja seperti https://simple-sample.uc.r.appspot.com/work/
dirutekan ke
backend statis.
dispatch:
# Default service serves the typical web resources and all static resources.
- url: "*/favicon.ico"
service: default
# Default service serves simple hostname request.
- url: "simple-sample.uc.r.appspot.com/"
service: default
# Send all mobile traffic to the mobile frontend.
- url: "*/mobile/*"
service: mobile-frontend
# Send all work to the one static backend.
- url: "*/work/*"
service: static-backend
Jika lebih menyukai aturan perutean umum yang cocok dengan banyak kemungkinan permintaan, Anda dapat menentukan aturan dengan cakupan yang lebih luas. Contoh:
# Send any path that begins with “simple-sample.uc.r.appspot.com/mobile” to the mobile-frontend service.
- url: "simple-sample.uc.r.appspot.com/mobile*"
service: mobile-frontend
# Send any domain/sub-domain with a path that starts with “work” to the static backend service.
- url: "*/work*"
service: static-backend
Anda juga dapat menulis ekspresi yang lebih ketat:
# Matches the path "/fun", but not "/fun2" or "/fun/other"
- url: "*/fun"
service: mobile-frontend
# Matches the hostname 'customer1.myapp.com', but not '1.customer1.myapp.com.
- url: "customer1.myapp.com/*"
service: static-backend
Batas
File pengiriman dapat berisi hingga 20 aturan perutean. Saat menentukan string URL, nama host maupun jalur tidak boleh lebih dari 100 karakter.
Menghapus semua aturan dispatch
Untuk menghapus semua aturan dispatch:
Edit konten file
dispatch.yaml
menjadi:dispatch: []
Deploy file
dispatch.yaml
ke App Engine.