REST Resource: projects.locations.httpRoutes

משאב: HttpRoute

‫HttpRoute הוא המשאב שמגדיר איך תנועת HTTP תנותב על ידי משאב Mesh או Gateway.

ייצוג ב-JSON
{
  "name": string,
  "selfLink": string,
  "description": string,
  "createTime": string,
  "updateTime": string,
  "hostnames": [
    string
  ],
  "meshes": [
    string
  ],
  "gateways": [
    string
  ],
  "labels": {
    string: string,
    ...
  },
  "rules": [
    {
      object (RouteRule)
    }
  ]
}
שדות
name

string

חובה. השם של משאב HttpRoute. הוא תואם לתבנית projects/*/locations/global/httpRoutes/http_route_name>.

description

string

זה שינוי אופציונלי. תיאור של המשאב בטקסט חופשי. אורך מקסימלי של 1,024 תווים.

createTime

string (Timestamp format)

פלט בלבד. חותמת הזמן שבה נוצר המשאב.

חותמת זמן בפורמט RFC3339 UTC ‏'Zulu', עם רזולוציה של ננו-שנייה ועד תשע ספרות אחרי הנקודה העשרונית. דוגמאות: "2014-10-02T15:01:23Z" ו-"2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

פלט בלבד. חותמת הזמן של מועד העדכון של המשאב.

חותמת זמן בפורמט RFC3339 UTC ‏'Zulu', עם רזולוציה של ננו-שנייה ועד תשע ספרות אחרי הנקודה העשרונית. דוגמאות: "2014-10-02T15:01:23Z" ו-"2014-10-02T15:01:23.045123456Z".

hostnames[]

string

חובה. שמות מארחים מגדירים קבוצה של מארחים שצריכים להתאים לכותרת המארח של HTTP כדי לבחור HttpRoute לעיבוד הבקשה. שם המארח הוא שם הדומיין שמוגדר במלואו של מארח ברשת, כפי שמוגדר ב-RFC 1123, למעט: – כתובות IP אסורות. – שם מארח יכול להתחיל בתווית של תו כללי לחיפוש (*.). התווית של התו הכללי לחיפוש חייבת להופיע לבד כתווית הראשונה.

שם המארח יכול להיות 'מדויק', כלומר שם דומיין ללא הנקודה שמסיימת את שם המארח ברשת (למשל, foo.example.com), או 'תו כללי לחיפוש', כלומר שם דומיין שמתחיל בתו כללי לחיפוש (למשל, *.example.com).

שימו לב: בהתאם ל-RFC1035 ול-RFC1123, תווית חייבת לכלול תווים אלפאנומריים באותיות קטנות או '-', ולהתחיל ולהסתיים בתו אלפאנומרי. אסור להשתמש בסימני פיסוק אחרים.

למסלולים שמשויכים לרשת Mesh או לשערים צריכים להיות שמות מארחים ייחודיים. אם תנסו לצרף כמה מסלולים עם שמות מארחים סותרים, המערכת תדחה את ההגדרה.

לדוגמה, אפשר לשייך את המסלולים של שמות המארחים *.foo.bar.com ו-*.bar.com לאותה רשת Mesh (או לאותם שערים באותו היקף), אבל אי אפשר לשייך שני מסלולים ל-*.bar.com או ל-bar.com.

meshes[]

string

זה שינוי אופציונלי. המאפיין Meshes מגדיר רשימה של רשתות שאליהן מצורף HttpRoute, כאחד מכללי הניתוב לניתוב הבקשות שמוגשות על ידי הרשת.

כל הפניה לרשת צריכה להתאים לתבנית: projects/*/locations/global/meshes/<mesh_name>

השגיאה: The attached Mesh should be of a type SIDECAR

gateways[]

string

זה שינוי אופציונלי. השדה Gateways מגדיר רשימה של שערים שאליהם מצורף HttpRoute, כאחד מכללי הניתוב לניתוב הבקשות שמטופלות על ידי השער.

כל הפניה לשער צריכה להתאים לתבנית: projects/*/locations/global/gateways/<gateway_name>

labels

map (key: string, value: string)

זה שינוי אופציונלי. קבוצה של תגי תוויות שמשויכים למשאב HttpRoute.

אובייקט שמכיל רשימה של "key": value זוגות. לדוגמה: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

rules[]

object (RouteRule)

חובה. כללים שמגדירים איך התנועה מנותבת ומטופלת. הכללים יותאמו באופן עוקב על סמך RouteMatch שצוין לכלל.

RouteRule

מציינת איך להתאים תנועה ואיך לנתב תנועה כשיש התאמה.

ייצוג ב-JSON
{
  "matches": [
    {
      object (RouteMatch)
    }
  ],
  "action": {
    object (RouteAction)
  }
}
שדות
matches[]

object (RouteMatch)

רשימת ההתאמות מגדירה תנאים שמשמשים להתאמת הכלל לבקשות HTTP נכנסות. כל התאמה היא עצמאית, כלומר הכלל הזה יתאים אם תנאי ההתאמה יתקיים באחת מההתאמות.

אם לא מציינים שדה של התאמות, הכלל הזה יתאים לתנועה ללא תנאי.

אם רוצים להגדיר כלל ברירת מחדל, מוסיפים כלל בלי לציין התאמות לסוף רשימת הכללים.

action

object (RouteAction)

הכלל המפורט שמגדיר איך לנתב תעבורה תואמת.

RouteMatch

השירות RouteMatch מגדיר מפרטים שמשמשים להתאמת בקשות. אם מוגדרים כמה סוגי התאמה, ההתאמה של RouteMatch תתבצע רק אם כל סוגי ההתאמה יתאימו.

ייצוג ב-JSON
{
  "ignoreCase": boolean,
  "headers": [
    {
      object (HeaderMatch)
    }
  ],
  "queryParameters": [
    {
      object (QueryParameterMatch)
    }
  ],

  // Union field PathMatch can be only one of the following:
  "fullPathMatch": string,
  "prefixMatch": string,
  "regexMatch": string
  // End of list of possible types for union field PathMatch.
}
שדות
ignoreCase

boolean

מציין אם ההתאמות של prefixMatch ו-fullPathMatch הן תלויות אותיות רישיות. ערך ברירת המחדל הוא false.

headers[]

object (HeaderMatch)

מציינת רשימה של כותרות של בקשות HTTP שצריך להשוות אליהן. כל הכותרות שצוינו צריכות להיות זהות.

queryParameters[]

object (QueryParameterMatch)

מציינת רשימה של פרמטרים של שאילתות שצריך להתאים להם. כל הפרמטרים של השאילתה צריכים להתאים.

שדה איחוד PathMatch.

הערך PathMatch יכול להיות רק אחד מהבאים:

fullPathMatch

string

הערך של נתיב בקשת ה-HTTP צריך להיות זהה לערך הזה.

צריך להשתמש רק באחד מהתנאים הבאים: fullPathMatch,‏ prefixMatch או regexMatch.

prefixMatch

string

הערך של נתיב בקשת ה-HTTP חייב להתחיל ב-prefixMatch שצוין. הערך של prefixMatch חייב להתחיל ב-/.

צריך להשתמש רק באחד מהתנאים הבאים: fullPathMatch,‏ prefixMatch או regexMatch.

regexMatch

string

הערך של נתיב בקשת ה-HTTP צריך להתאים לביטוי הרגולרי שצוין על ידי regexMatch אחרי הסרת פרמטרים של שאילתה ועוגן שסופקו עם כתובת ה-URL המקורית. למידע על הדקדוק של ביטויים רגולריים, אפשר לעיין בכתובת https://github.com/google/re2/wiki/Syntax

צריך להשתמש רק באחד מהתנאים הבאים: fullPathMatch,‏ prefixMatch או regexMatch.

HeaderMatch

מציינת איך לבחור כלל ניתוב על סמך כותרות של בקשות HTTP.

ייצוג ב-JSON
{
  "header": string,
  "invertMatch": boolean,

  // Union field MatchType can be only one of the following:
  "exactMatch": string,
  "regexMatch": string,
  "prefixMatch": string,
  "presentMatch": boolean,
  "suffixMatch": string,
  "rangeMatch": {
    object (IntegerRange)
  }
  // End of list of possible types for union field MatchType.
}
שדות
header

string

השם של כותרת ה-HTTP שצריך להתאים לה.

invertMatch

boolean

אם מציינים ערך, תוצאת ההתאמה תהפוך לפני הבדיקה. ערך ברירת המחדל הוא False.

שדה איחוד MatchType.

הערך MatchType יכול להיות רק אחד מהבאים:

exactMatch

string

הערך של הכותרת צריך להיות זהה בדיוק לתוכן של exactMatch.

regexMatch

string

הערך של הכותרת חייב להתאים לביטוי הרגולרי שצוין ב-regexMatch. למידע על הדקדוק של ביטויים רגולריים, אפשר לעיין בכתובת: https://github.com/google/re2/wiki/Syntax

prefixMatch

string

הערך של הכותרת חייב להתחיל בתוכן של prefixMatch.

presentMatch

boolean

חייבת להיות כותרת עם headerName. ההתאמה מתבצעת בין אם לכותרת יש ערך ובין אם לא.

suffixMatch

string

הערך של הכותרת חייב להסתיים בתוכן של suffixMatch.

rangeMatch

object (IntegerRange)

אם מציינים טווח, הכלל יתאים אם ערך כותרת הבקשה נמצא בטווח.

IntegerRange

מייצג טווח של ערכים מסוג מספר שלם.

ייצוג ב-JSON
{
  "start": integer,
  "end": integer
}
שדות
start

integer

תחילת הטווח (כולל)

end

integer

סוף הטווח (לא כולל)

QueryParameterMatch

מפרטים להתאמה לפרמטר של שאילתה בבקשה.

ייצוג ב-JSON
{
  "queryParameter": string,

  // Union field MatchType can be only one of the following:
  "exactMatch": string,
  "regexMatch": string,
  "presentMatch": boolean
  // End of list of possible types for union field MatchType.
}
שדות
queryParameter

string

השם של פרמטר השאילתה שצריך להתאים.

שדה איחוד MatchType.

הערך MatchType יכול להיות רק אחד מהבאים:

exactMatch

string

הערך של הפרמטר query צריך להיות זהה בדיוק לתוכן של exactMatch.

צריך להגדיר רק אחד מהערכים exactMatch,‏ regexMatch או presentMatch.

regexMatch

string

הערך של הפרמטר query צריך להתאים לביטוי הרגולרי שצוין על ידי regexMatch. למידע על הדקדוק של ביטויים רגולריים, אפשר לעיין בכתובת https://github.com/google/re2/wiki/Syntax

צריך להגדיר רק אחד מהערכים exactMatch,‏ regexMatch או presentMatch.

presentMatch

boolean

מציין שהתנאי QueryParameterMatcher יתקיים אם הבקשה מכילה פרמטר שאילתה, בלי קשר לשאלה אם לפרמטר יש ערך או לא.

צריך להגדיר רק אחד מהערכים exactMatch,‏ regexMatch או presentMatch.

RouteAction

המפרט לניתוב תנועה ולהחלת מדיניות משויכת.

ייצוג ב-JSON
{
  "destinations": [
    {
      object (Destination)
    }
  ],
  "redirect": {
    object (Redirect)
  },
  "faultInjectionPolicy": {
    object (FaultInjectionPolicy)
  },
  "requestHeaderModifier": {
    object (HeaderModifier)
  },
  "responseHeaderModifier": {
    object (HeaderModifier)
  },
  "urlRewrite": {
    object (URLRewrite)
  },
  "timeout": string,
  "retryPolicy": {
    object (RetryPolicy)
  },
  "requestMirrorPolicy": {
    object (RequestMirrorPolicy)
  },
  "corsPolicy": {
    object (CorsPolicy)
  },
  "statefulSessionAffinity": {
    object (StatefulSessionAffinityPolicy)
  },
  "directResponse": {
    object (HttpDirectResponse)
  },
  "idleTimeout": string
}
שדות
destinations[]

object (Destination)

היעד שאליו התנועה צריכה להיות מועברת.

redirect

object (Redirect)

אם השדה הזה מוגדר, הבקשה מופנית בהתאם להגדרה שלו.

faultInjectionPolicy

object (FaultInjectionPolicy)

המפרט להזרקת תקלות שמוחדר לתנועה כדי לבדוק את חוסן (resilience) הלקוחות לכשל בשירות לקצה העורפי. במסגרת הזרקת תקלות, כשלקוחות שולחים בקשות לשירות קצה עורפי, יכול להיות שיווצרו עיכובים באחוז מסוים מהבקשות לפני שהבקשות האלה יישלחו לשירות הקצה העורפי. באופן דומה, אפשר להפסיק בקשות מלקוחות עבור אחוז מסוים מהבקשות.

לקוחות שהוגדרה להם מדיניות faultInjectionPolicy יתעלמו מההגדרות timeout ו-retryPolicy

requestHeaderModifier

object (HeaderModifier)

המפרט לשינוי הכותרות של בקשה תואמת לפני מסירת הבקשה ליעד. אם HeaderModifiers מוגדרים גם ב-Destination וגם ב-RouteAction, הם ימוזגו. לא יתבצע פתרון של קונפליקטים בין השניים בהגדרות.

responseHeaderModifier

object (HeaderModifier)

המפרט לשינוי הכותרות של תשובה לפני שליחת התשובה בחזרה ללקוח. אם HeaderModifiers מוגדרים גם ב-Destination וגם ב-RouteAction, הם ימוזגו. לא יתבצע פתרון של קונפליקטים בין השניים בהגדרות.

urlRewrite

object (URLRewrite)

ההגדרה של כתובת ה-URL לכתיבה מחדש לפני העברת הבקשות ליעד.

timeout

string (Duration format)

מציינת את הזמן הקצוב לתפוגה של הנתיב שנבחר. הזמן הקצוב לתפוגה מחושב מהרגע שבו הבקשה עובדה במלואה (כלומר, סוף הזרם) ועד שהתשובה עובדה במלואה. הזמן הקצוב לתפוגה כולל את כל הניסיונות החוזרים.

משך זמן בשניות עם עד תשע ספרות אחרי הנקודה העשרונית, שמסתיים ב-'s'. דוגמה: "3.5s".

retryPolicy

object (RetryPolicy)

המדיניות הזו מגדירה את מדיניות הניסיון החוזר שמשויכת למסלול הזה.

requestMirrorPolicy

object (RequestMirrorPolicy)

מציין את המדיניות לגבי האופן שבו בקשות שמיועדות ליעד של מסלולים מוצלות ליעד נפרד שמשוכפל. ה-proxy לא ימתין לתגובה של יעד הצללים לפני שיחזיר את התגובה. לפני שליחת התנועה לשירות הווירטואלי, התוספת ‎-shadow מצורפת לסיומת של הכותרת host/authority.

corsPolicy

object (CorsPolicy)

המפרט שמאפשר בקשות חוצות-מקורות בצד הלקוח.

statefulSessionAffinity

object (StatefulSessionAffinityPolicy)

זה שינוי אופציונלי. מציין זיקה למשך פעילות הסשן עם שמירת מצב שמבוססת על קובצי Cookie.

directResponse

object (HttpDirectResponse)

זה שינוי אופציונלי. אובייקט תשובת HTTP סטטי שיוחזר ללא קשר לבקשה.

idleTimeout

string (Duration format)

זה שינוי אופציונלי. מציינים את הזמן הקצוב לתפוגה של חוסר פעילות עבור המסלול שנבחר. הזמן הקצוב לתפוגה במצב המתנה מוגדר כפרק הזמן שבו לא נשלחים או מתקבלים בייטים בחיבור במעלה הזרם או במורד הזרם. אם לא מגדירים את משך הזמן הקצוב ללא פעילות, ברירת המחדל היא שעה אחת. אם מגדירים את הערך ל-0s, פסק הזמן מושבת.

משך זמן בשניות עם עד תשע ספרות אחרי הנקודה העשרונית, שמסתיים ב-'s'. דוגמה: "3.5s".

יעד

מפרטים של יעד שאליו הבקשה צריכה להיות מנותבת.

ייצוג ב-JSON
{
  "serviceName": string,
  "weight": integer,
  "requestHeaderModifier": {
    object (HeaderModifier)
  },
  "responseHeaderModifier": {
    object (HeaderModifier)
  }
}
שדות
serviceName

string

כתובת ה-URL של BackendService שאליה תנותב התנועה.

weight

integer

מציין את שיעור הבקשות שמועברות לחלק האחורי שאליו מתייחס השדה serviceName. החישוב מתבצע באופן הבא: משקל חלקי סכום המשקלים ברשימת היעדים הזו. לערכים שאינם אפס, יכול להיות שיהיה אפסילון מסוים מהפרופורציה המדויקת שמוגדרת כאן, בהתאם לדיוק שההטמעה תומכת בו.

אם מציינים רק serviceName אחד והמשקל שלו גדול מ-0, ‏ 100% מהתנועה מועברים לקצה העורפי הזה.

אם מציינים משקלים לשם שירות אחד, צריך לציין משקלים לכל שמות השירותים.

אם לא מציינים משקלים לכל השירותים, התנועה מתחלקת ביניהם באופן שווה.

requestHeaderModifier

object (HeaderModifier)

זה שינוי אופציונלי. המפרט לשינוי הכותרות של בקשה תואמת לפני מסירת הבקשה ליעד. אם HeaderModifiers מוגדרים גם ב-Destination וגם ב-RouteAction, הם ימוזגו. לא יתבצע פתרון של קונפליקטים בין השניים בהגדרות.

responseHeaderModifier

object (HeaderModifier)

זה שינוי אופציונלי. המפרט לשינוי הכותרות של תשובה לפני שליחת התשובה בחזרה ללקוח. אם HeaderModifiers מוגדרים גם ב-Destination וגם ב-RouteAction, הם ימוזגו. לא יתבצע פתרון של קונפליקטים בין השניים בהגדרות.

HeaderModifier

המפרט לשינוי כותרת HTTP בבקשת HTTP ובתגובת HTTP.

ייצוג ב-JSON
{
  "set": {
    string: string,
    ...
  },
  "add": {
    string: string,
    ...
  },
  "remove": [
    string
  ]
}
שדות
set

map (key: string, value: string)

לשכתב או להחליף לחלוטין את הכותרות באמצעות המיפוי שצוין, כאשר המפתח הוא שם הכותרת והערך הוא הערך של הכותרת.

אובייקט שמכיל רשימה של "key": value זוגות. לדוגמה: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

add

map (key: string, value: string)

מוסיפים את הכותרות עם המיפוי הנתון, כאשר המפתח הוא שם הכותרת והערך הוא הערך של הכותרת.

אובייקט שמכיל רשימה של "key": value זוגות. לדוגמה: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

remove[]

string

הסרת כותרות (תואמות לפי שמות כותרות) שצוינו ברשימה.

הפניה לכתובת URL אחרת

המפרט להפניית תנועה.

ייצוג ב-JSON
{
  "hostRedirect": string,
  "pathRedirect": string,
  "prefixRewrite": string,
  "responseCode": enum (ResponseCode),
  "httpsRedirect": boolean,
  "stripQuery": boolean,
  "portRedirect": integer
}
שדות
hostRedirect

string

המארח שישמש בתגובה להפניה האוטומטית במקום המארח שסופק בבקשה.

pathRedirect

string

הנתיב שישמש בתגובת ההפניה האוטומטית במקום הנתיב שסופק בבקשה. אי אפשר לספק את pathRedirect יחד עם prefixRedirect. צריך לציין רק אחת מהן או לא לציין אף אחת. אם לא מספקים אף אחד מהם, המערכת משתמשת בנתיב של הבקשה המקורית להפניה.

prefixRewrite

string

מציין שבמהלך ההפניה האוטומטית, הקידומת (או הנתיב) התואמת צריכה להיות מוחלפת בערך הזה. האפשרות הזו מאפשרת ליצור כתובות URL באופן דינמי על סמך הבקשה.

responseCode

enum (ResponseCode)

קוד הסטטוס של HTTP שבו יש להשתמש להפניה.

httpsRedirect

boolean

אם ההגדרה היא True, סכימת כתובת ה-URL בבקשה המופנית מחדש מוגדרת כ-https. אם הערך מוגדר כ-false, סכימת כתובת ה-URL של הבקשה המופנית תישאר זהה לזו של הבקשה.

ברירת המחדל היא False.

stripQuery

boolean

אם הערך הוא true, כל חלק של שאילתה שמצורף לכתובת ה-URL המקורית מוסר לפני ההפניה מחדש של הבקשה. אם הערך הוא false, חלק השאילתה של כתובת ה-URL המקורית נשמר.

ברירת המחדל היא False.

portRedirect

integer

היציאה שתשמש בבקשה המופנית במקום היציאה שסופקה בבקשה.

ResponseCode

קוד תגובת HTTP נתמך.

טיפוסים בני מנייה (enum)
RESPONSE_CODE_UNSPECIFIED ערך ברירת המחדל
MOVED_PERMANENTLY_DEFAULT תואם לקוד 301.
FOUND תואם ל-302.
SEE_OTHER תואם לקוד 303.
TEMPORARY_REDIRECT תואם ל-307. במקרה כזה, שיטת הבקשה תישמר.
PERMANENT_REDIRECT תואם ל-308. במקרה כזה, שיטת הבקשה תישמר.

FaultInjectionPolicy

המפרט להזרקת תקלות שמוחדר לתנועה כדי לבדוק את העמידות של לקוחות לכשל בשירות היעד. כחלק מהזרקת תקלות, כשלקוחות שולחים בקשות ליעד, יכולים להיות עיכובים שנוצרים על ידי פרוקסי של הלקוח באחוז מסוים מהבקשות לפני שהבקשות האלה נשלחות לשירות היעד. באופן דומה, אפשר להפסיק בקשות באמצעות פרוקסי של לקוח עבור אחוז מסוים של בקשות.

ייצוג ב-JSON
{
  "delay": {
    object (Delay)
  },
  "abort": {
    object (Abort)
  }
}
שדות
delay

object (Delay)

המפרט להוספת עיכוב לבקשות של לקוחות.

abort

object (Abort)

המפרט לביטול בקשות ללקוח.

השהיה

הגדרה של אופן העיכוב של בקשות לקוח כחלק מהחדרת תקלות לפני שהן נשלחות ליעד.

ייצוג ב-JSON
{
  "fixedDelay": string,
  "percentage": integer
}
שדות
fixedDelay

string (Duration format)

מציינים השהיה קבועה לפני העברת הבקשה.

משך זמן בשניות עם עד תשע ספרות אחרי הנקודה העשרונית, שמסתיים ב-'s'. דוגמה: "3.5s".

percentage

integer

אחוז התנועה שיוזרק לה עיכוב.

הערך צריך להיות בין 0 ל-100

ביטול

הגדרה של אופן ביטול הבקשות של הלקוח כחלק מהחדרת תקלות לפני שהן נשלחות ליעד.

ייצוג ב-JSON
{
  "httpStatus": integer,
  "percentage": integer
}
שדות
httpStatus

integer

קוד סטטוס של HTTP ששימש לביטול הבקשה.

הערך צריך להיות בין 200 ל-599 כולל.

percentage

integer

אחוז התנועה שיבוטל.

הערך צריך להיות בין 0 ל-100

URLRewrite

המפרט לשינוי כתובת ה-URL של הבקשה, לפני העברת הבקשה ליעד.

ייצוג ב-JSON
{
  "pathPrefixRewrite": string,
  "hostRewrite": string
}
שדות
pathPrefixRewrite

string

לפני העברת הבקשה ליעד שנבחר, החלק התואם בנתיב הבקשה מוחלף בערך הזה.

hostRewrite

string

לפני שהבקשה מועברת ליעד שנבחר, כותרת המארח של הבקשה מוחלפת בערך הזה.

RetryPolicy

המפרט של ניסיונות חוזרים.

ייצוג ב-JSON
{
  "retryConditions": [
    string
  ],
  "numRetries": integer,
  "perTryTimeout": string
}
שדות
retryConditions[]

string

מציינים תנאי אחד או יותר שבהם מדיניות הניסיון החוזר הזו חלה. הערכים האפשריים הם: 5xx: ה-Proxy ינסה לבצע ניסיון חוזר אם שירות היעד יגיב עם קוד תגובה 5xx כלשהו, או אם שירות היעד לא יגיב בכלל. לדוגמה: ניתוק, איפוס, זמן קצוב לתפוגה לקריאה, כשל בחיבור וזרמים שנדחו.

gateway-error: דומה ל-5xx, אבל רלוונטי רק לקודי תגובה 502, 503 ו-504.

איפוס: ה-Proxy ינסה לבצע ניסיון חוזר אם שירות היעד לא יגיב בכלל (ניתוק/איפוס/זמן קצוב לתפוגה לקריאה)

connect-failure: Proxy will retry on failures connecting to destination for example due to connection timeouts.

retriable-4xx: שרת ה-Proxy ינסה שוב קודי תגובה מסוג 4xx שאפשר לנסות שוב. בשלב הזה, השגיאה היחידה שאפשר לנסות שוב לבצע את הפעולה אחרי קבלתה היא 409.

refused-stream: שרת ה-Proxy ינסה שוב אם היעד יאפס את הזרם עם קוד השגיאה REFUSED_STREAM. סוג האיפוס הזה מציין שאפשר לנסות שוב.

numRetries

integer

מציין את מספר הניסיונות החוזרים המותר. המספר הזה חייב להיות גדול מ-0. אם לא מציינים ערך, ברירת המחדל היא 1.

perTryTimeout

string (Duration format)

מציין זמן קצוב לתפוגה שאינו אפס לכל ניסיון חוזר.

משך זמן בשניות עם עד תשע ספרות אחרי הנקודה העשרונית, שמסתיים ב-'s'. דוגמה: "3.5s".

RequestMirrorPolicy

המדיניות קובעת איך בקשות משוכפלות לשירות יעד נפרד. ה-proxy לא ממתין לתגובות משירות הצללים. לפני שליחת התנועה לשירות הווירטואלי, התוספת ‎-shadow מצורפת לסיומת של הכותרת host/authority.

ייצוג ב-JSON
{
  "destination": {
    object (Destination)
  },
  "mirrorPercent": number
}
שדות
destination

object (Destination)

היעד שאליו הבקשות ישוכפלו. המערכת תתעלם מהמשקל של היעד.

mirrorPercent

number

זה שינוי אופציונלי. אחוז הבקשות שמשוכפלות ליעד הרצוי.

CorsPolicy

המפרט שמאפשר בקשות חוצות-מקורות בצד הלקוח.

ייצוג ב-JSON
{
  "allowOrigins": [
    string
  ],
  "allowOriginRegexes": [
    string
  ],
  "allowMethods": [
    string
  ],
  "allowHeaders": [
    string
  ],
  "exposeHeaders": [
    string
  ],
  "maxAge": string,
  "allowCredentials": boolean,
  "disabled": boolean
}
שדות
allowOrigins[]

string

מציינת את רשימת המקורות שיקבלו הרשאה לשלוח בקשות CORS. מקור מורשה אם הוא תואם לפריט ב-allowOrigins או לפריט ב-allowOriginRegexes.

allowOriginRegexes[]

string

מציינת את תבניות הביטוי הרגולרי שתואמות למקורות המותרים. למידע על הדקדוק של ביטויים רגולריים, אפשר לעיין בכתובת https://github.com/google/re2/wiki/Syntax.

allowMethods[]

string

מציינת את התוכן של הכותרת Access-Control-Allow-Methods.

allowHeaders[]

string

המדיניות הזו מציינת את התוכן של הכותרת Access-Control-Allow-Headers.

exposeHeaders[]

string

מציין את התוכן של כותרת Access-Control-Expose-Headers.

maxAge

string

מציינת למשך כמה זמן לשמור במטמון תוצאה של בקשת קדם-הפעלה בשניות. הערך הזה מתורגם לכותרת Access-Control-Max-Age.

allowCredentials

boolean

בתגובה לבקשת קדם-הפעלה, הגדרה של הערך הזה כ-true מציינת שהבקשה בפועל יכולה לכלול פרטי כניסה של משתמש. המשמעות היא הכותרת Access-Control-Allow-Credentials.

ערך ברירת המחדל הוא False.

disabled

boolean

אם הערך הוא True, מדיניות ה-CORS מושבתת. ערך ברירת המחדל הוא false, שמציין שמדיניות ה-CORS בתוקף.

StatefulSessionAffinityPolicy

ההגדרה של זיקה לסשן (session affinity) עם שמירת מצב מבוסס-קובצי Cookie שבו מישור הנתונים מספק 'קובץ Cookie זמני' עם השם GSSA שמקודד מארח יעד ספציפי, וכל בקשה שמכילה את קובץ ה-Cookie הזה תופנה למארח הזה כל עוד מארח היעד פעיל ותקין.

ספריית ה-gRPC proxyless mesh או קובץ העזר החיצוני ינהלו את קובץ ה-Cookie הזמני, אבל קוד אפליקציית הלקוח אחראי להעתקת קובץ ה-Cookie מכל RPC בסשן אל ה-RPC הבא.

ייצוג ב-JSON
{
  "cookieTtl": string
}
שדות
cookieTtl

string (Duration format)

חובה. ערך ה-TTL של קובץ ה-Cookie בכותרת Set-Cookie שנוצרת על ידי מישור הנתונים. אפשר להגדיר את אורך החיים של קובץ ה-Cookie לערך בין 1 ל-86,400 שניות (24 שעות), כולל.

משך זמן בשניות עם עד תשע ספרות אחרי הנקודה העשרונית, שמסתיים ב-'s'. דוגמה: "3.5s".

HttpDirectResponse

אובייקט סטטי של תגובת HTTP שיוחזר.

ייצוג ב-JSON
{
  "status": integer,

  // Union field HttpBody can be only one of the following:
  "stringBody": string,
  "bytesBody": string
  // End of list of possible types for union field HttpBody.
}
שדות
status

integer

חובה. הסטטוס שיוחזר כחלק מתשובת ה-HTTP. חייב להיות מספר שלם חיובי.

שדה איחוד HttpBody. הגוף שיוחזר כחלק מתשובת ה-HTTP. הערך HttpBody יכול להיות רק אחד מהבאים:
stringBody

string

זה שינוי אופציונלי. גוף התשובה כמחרוזת. האורך המקסימלי של גוף ההודעה הוא 1,024 תווים.

bytesBody

string (bytes format)

זה שינוי אופציונלי. גוף התשובה בבייטים. גודל הגוף המקסימלי הוא 4096B.

מחרוזת בקידוד Base64.

Methods

create

יוצרת HttpRoute חדש בפרויקט ובמיקום נתונים מסוימים.

delete

מחיקת HttpRoute יחיד.

get

קבלת פרטים של HttpRoute יחיד.

list

הצגת רשימה של HttpRoute בפרויקט ובמיקום נתונים.

patch

עדכון הפרמטרים של HttpRoute יחיד.