צירוף מדיניות ל-ProxyEndpoint או לתהליך יעד של נקודת קצה (TargetEndpoint)

כרגע מוצג התיעוד של Apigee Edge.
נכנסים למסמכי התיעוד של Apigee X.
מידע

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

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

הפורמט של קובץ המדיניות הוא:

<Step>
    <Name>{policy_name}</Name>
</Step>

לדוגמה:

<Step>
    <Name>QuotaPolicy</Name>
</Step>

מצורפת מדיניות לתהליך על ידי הוספת ההגדרה של השלב לרכיב המתאים של 'זרימת בקשה' או 'זרימת תגובה' בהגדרות ProxyEndpoint או TargetEndpoint.

אפשר לצרף מדיניות לתהליך של בקשה או תגובה. 'זרימות הבקשות והתגובות' מחולקות לחלוקות משנה ל-PreFlow ו-PostFlow.

הדוגמה הבאה ממחישה את ההגדרה המינימלית של ProxyEndpoint, ללא קבצים מצורפים למדיניות. הוא פשוט מגדיר את ה-HTTPProxyConnection (הנכנס) ואת RouteRule.

<ProxyEndpoint name="default">
    <HTTPProxyConnection>
        <BasePath>/weather</BasePath>
        <VirtualHost>default</VirtualHost>
    </HTTPProxyConnection>
    <RouteRule name="default">
        <TargetEndpoint>default</TargetEndpoint>
    </RouteRule>
</ProxyEndpoint>

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

כדי לאכוף את ההגדרה הזו, מצרפים שלב עיבוד לבקשת PreFlow באופן הבא:

<ProxyEndpoint name="default">
  <PreFlow>
    <Request>
      <Step><Name>QuotaPolicy</Name></Step>
    </Request>
  </PreFlow>
  <HTTPProxyConnection> 
    <BasePath>/weather</BasePath> 
    <VirtualHost>default</VirtualHost> 
  </HTTPProxyConnection> 
  <RouteRule name="default"> 
    <TargetEndpoint>default</TargetEndpoint> 
  </RouteRule> 
</ProxyEndpoint>

לפעמים יכול להיות שתרצו שמדיניות תופעל אחרי עיבוד ראשוני אחר ב-ProxyEndpoint. לדוגמה: כדאי לבדוק את המכסה ב-PreFlow, ואז לבצע קבוצת עיבוד נוספת אחרי שנבדקה Quota. למשל, להמיר את הבקשה מ-JSON ל-XML. כדי לעשות זאת, צריך לצרף מדיניות לנתיב הבקשה של PostFlow. צירפתי בקשה לדוגמה של PostFlow. המדיניות הזו תופעל בהודעת הבקשה אחרי שכל כללי המדיניות ב-PreFlow (ובכל התהליכים המותנים) יבוצעו.

<PostFlow>
  <Request>
    <Step><Name>JSONtoXMLPolicy</Name></Step>
  </Request>
</PostFlow>

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

<PostFlow>
  <Response>
    <Step><Name>XMLtoJSONPolicy</Name></Step>
  </Response>
</PostFlow>