การแนบนโยบายกับโฟลว์ ProxyEndpoint หรือ TargetEndpoint

คุณกำลังดูเอกสารประกอบ Apigee Edge
ไปที่ เอกสารประกอบเกี่ยวกับ Apigee X.
ข้อมูล

ระบบจะไม่บังคับใช้นโยบายจนกว่าจะแนบกับโฟลว์ คุณสร้างนโยบายได้ โดยตั้งชื่อ "นโยบาย" ในการกำหนดค่าขั้นตอน

ตัวเลือกจุดแนบมีความสำคัญอย่างยิ่งต่อการทำงานของพร็อกซี 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 บังคับใช้นโยบายโควต้า (ในฐานะ ก่อนการประมวลผล) ก่อนที่พร็อกซี 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 แล้วดำเนินการอีกชุดหนึ่ง การประมวลผลหลังจากเลือกโควต้าแล้ว เช่น แปลงคำขอจาก 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>