คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่
เอกสารประกอบของ Apigee X info
ระบบจะไม่ดำเนินการตามนโยบายจนกว่าจะแนบนโยบายกับโฟลว์ คุณสามารถสร้างการแนบนโยบาย ได้โดยการตั้งชื่อนโยบายในการกำหนดค่าขั้นตอน
การเลือกจุดแนบมีความสำคัญต่อลักษณะการทำงานของพร็อกซี 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>