ExtensionChain

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

ייצוג ב-JSON
{
  "name": string,
  "matchCondition": {
    object (MatchCondition)
  },
  "extensions": [
    {
      object (Extension)
    }
  ]
}
שדות
name

string

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

matchCondition

object (MatchCondition)

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

extensions[]

object (Extension)

חובה. קבוצה של תוספים להפעלה עבור הבקשה התואמת. צריך להוסיף לפחות תוסף אחד. אפשר להגדיר עד 3 תוספים לכל שרשרת תוספים למשאב LbTrafficExtension. שרשראות של LbRouteExtension מוגבלות לתוסף אחד לכל שרשרת תוספים.

MatchCondition

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

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

string

חובה. ביטוי של Common Expression Language ‏ (CEL) שמשמש להתאמת בקשות שבהן מופעלת שרשרת התוספים.

מידע נוסף זמין במאמר בנושא הפניה לשפת ההתאמה של CEL.

תוסף

תוסף יחיד בשרשרת שיופעל עבור הבקשה התואמת.

ייצוג ב-JSON
{
  "name": string,
  "authority": string,
  "service": string,
  "supportedEvents": [
    enum (EventType)
  ],
  "timeout": string,
  "failOpen": boolean,
  "forwardHeaders": [
    string
  ]
}
שדות
name

string

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

authority

string

זה שינוי אופציונלי. הכותרת :authority בבקשת gRPC שנשלחת מ-Envoy לשירות התוסף. נדרש לתוספי יתרונות מרכזיים.

service

string

חובה. ההפניה לשירות שמריץ את התוסף.

בשלב הזה, יש תמיכה רק בתוספי יתרונות מרכזיים.

כדי להגדיר נכס מסוג יתרונות מרכזיים, הערך של service צריך להיות הפניה מלאה לשירות לקצה העורפי בפורמט: https://www.googleapis.com/compute/v1/projects/{project}/regions/{region}/backendServices/{backendService} או https://www.googleapis.com/compute/v1/projects/{project}/global/backendServices/{backendService}.

supportedEvents[]

enum (EventType)

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

timeout

string (Duration format)

זה שינוי אופציונלי. מגדיר את הזמן הקצוב לתפוגה של כל הודעה בנפרד בזרם. משך הזמן הקצוב לתפוגה צריך להיות בין 10 ל-1,000 אלפיות השנייה. נדרש לתוספי יתרונות מרכזיים.

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

failOpen

boolean

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

אם הערך הוא TRUE, עיבוד הבקשה או התגובה נמשך ללא שגיאה. גם הרחבות נוספות בשרשרת ההרחבות מופעלות. אם ההגדרה היא FALSE או שנעשה שימוש בהגדרת ברירת המחדל FALSE, קורה אחד מהדברים הבאים:

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

  • אם כותרות התגובה נמסרו, זרם ה-HTTP ללקוח במורד הזרם מאופס.

forwardHeaders[]

string

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

EventType

החלק בבקשה או בתגובה שהתוסף מופעל עבורו.

טיפוסים בני מנייה (enum)
EVENT_TYPE_UNSPECIFIED ערך לא מוגדר. אין להשתמש בו.
REQUEST_HEADERS אם התוסף נכלל ב-supportedEvents, הוא מופעל כשהכותרות של בקשת ה-HTTP מגיעות.
REQUEST_BODY אם התוסף נכלל ב-supportedEvents, הוא מופעל כשגוף בקשת ה-HTTP מגיע.
RESPONSE_HEADERS אם היא כלולה ב-supportedEvents, ההרחבה מופעלת כשהכותרות של תגובת ה-HTTP מגיעות.
RESPONSE_BODY אם התוסף נכלל ב-supportedEvents, הוא מופעל כשגוף תגובת ה-HTTP מגיע.
REQUEST_TRAILERS אם התוסף כלול ב-supportedEvents, הוא מופעל כשהטריילרים של בקשת ה-HTTP מגיעים.
RESPONSE_TRAILERS אם היא כלולה ב-supportedEvents, התוסף מופעל כשהטריילרים של תגובת ה-HTTP מגיעים.