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

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

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

ตัวเลือกจุดสำหรับไฟล์แนบมีความสำคัญต่อการทำงานของพร็อกซี API ตัวอย่างเช่น หากคุณแนบนโยบายโควต้ากับโฟลว์การตอบกลับ ระบบจะบังคับใช้โควต้าหลังจากที่มีการส่งข้อความคำขอไปยังบริการแบ็กเอนด์ การทำแบบดังกล่าวอาจไม่เป็นไปตามวัตถุประสงค์ของการใช้นโยบายโควต้า ด้วยเหตุนี้ คุณจึงต้องแนบนโยบายโควต้าเป็นขั้นตอนการประมวลผลของโฟลว์คำขอ

รูปแบบของไฟล์แนบนโยบายคือ

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

เช่น

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

นโยบายแนบอยู่กับ Flow โดยเพิ่มการกำหนดค่าขั้นตอนไปยังองค์ประกอบคำขอหรือองค์ประกอบโฟลว์การตอบกลับที่เหมาะสมในการกำหนดค่า 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>