מזהה אזור
REGION_ID הוא קוד מקוצר ש-Google מקצה על סמך האזור שבוחרים כשיוצרים את האפליקציה. הקוד לא תואם למדינה או למחוז, למרות שחלק ממזהי האזורים עשויים להיראות דומים לקודים נפוצים של מדינות ומחוזות. באפליקציות שנוצרו אחרי פברואר 2020, המחרוזת REGION_ID.r כלולה בכתובות ה-URL של App Engine. באפליקציות קיימות שנוצרו לפני התאריך הזה, מזהה האזור הוא אופציונלי בכתובת ה-URL.
התג dispatch.yaml מאפשר לכם לבטל את כללי הניתוב.
אתם יכולים להשתמש ב-dispatch.yaml כדי לשלוח בקשות נכנסות לשירות ספציפי (שנקרא בעבר מודולים) על סמך הנתיב או שם המארח בכתובת ה-URL.
מידע נוסף זמין במאמר איך בקשות מנותבות.
באפליקציה יכול להיות רק קובץ dispatch.yaml אחד, וכללי הניתוב בקובץ הזה חלים על כל השירותים והגרסאות של האפליקציה.
פריסת קובץ ה-dispatch
כדי לפרוס ולהחיל את הגדרות התצורה מקובץ dispatch על סביבת App Engine:
gcloud app deploy dispatch.yaml
תחביר
רכיב הבסיס בקובץ dispatch.yaml הוא dispatch: והוא מכיל רשימה של הגדרות ניתוב שמוגדרות על ידי רכיבי המשנה הבאים.
הכללים שאתם מגדירים ב-**קובץ dispatch** חייבים להשתמש בתבניות של כתובות URL מסוג HTTP, שכוללות את הסימון . להפרדה בין תתי-דומיינים. אין תמיכה בכתובות URL
שמוגדרות עם הסימון HTTPS "-dot-".
כללי ההפצה תלויים בסדר, ורק הכלל הראשון שתואם לכתובת URL יחול.
| רכיב | תיאור |
|---|---|
service |
ההגדרה הזו מציינת את שם השירות שיטפל בבקשות שתואמות לתבנית |
url |
ברכיב
באלמנט
טיפ: אפשר לכלול תבניות glob כמו התו הכללי נתיבי כתובות URL שמתחילים ב- |
דוגמה
זוהי דוגמה לקובץ dispatch שמנתב בקשות אל https://simple-sample.uc.r.appspot.com ובקשות כמו https://simple-sample.uc.r.appspot.com/favicon.ico אל השירות default. כל התוכן הסטטי מוגש משירות default. בקשות ממכשירים ניידים כמו https://simple-sample.uc.r.appspot.com/mobile/ מנותבות לקצה קדמי לנייד, ובקשות של worker כמו https://simple-sample.uc.r.appspot.com/work/ מנותבות לבק-אנד סטטי.
דוגמה:
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
אם אתם מעדיפים כללי ניתוב כלליים שתואמים להרבה בקשות אפשריות, אתם יכולים להגדיר כללים עם היקפים רחבים יותר.
דוגמה:
# 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
אפשר גם לכתוב ביטויים מחמירים יותר.
דוגמה:
# 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
אתם יכולים ליצור כללים להפניה מחדש של בקשות נכנסות לדומיין לשירות. הכללים הבאים מנתבים בקשות נכנסות מ-customer1.myapp.com לשירות ברירת המחדל, ובקשות נכנסות מתתי-דומיינים לשירות סטטי של קצה עורפי.
דוגמה:
# Matches the domain name 'customer1.myapp.com' and directs all the request to default service
- url: "customer1.myapp.com/*"
service: default
# Matches all the subdomains of 'customer1.myapp.com' and directs all the request to static-backend service
- url: "*.customer1.myapp.com/*"
service: static-backend
מגבלות
קובץ dispatch יכול להכיל עד 20 כללי ניתוב. כשמציינים את מחרוזת ה-URL, שם המארח והנתיב לא יכולים להיות ארוכים מ-100 תווים.
מחיקת כל כללי השליחה
כדי למחוק את כל כללי ההפצה:
עורכים את התוכן של הקובץ
dispatch.yamlכך:dispatch: []פורסים את הקובץ
dispatch.yamlב-App Engine.