การแนบและกำหนดค่านโยบายในไฟล์ XML

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

คุณสามารถสร้างและแก้ไขนโยบายในเครื่องได้โดยใช้โปรแกรมแก้ไขข้อความหรือโปรแกรมแก้ไขที่รองรับ XML หรือ IDE ที่คุณชื่นชอบ หัวข้อนี้ใช้ประเภทนโยบายโควต้าเป็นตัวอย่างวิธีสร้าง กำหนดค่า แนบ ใช้ และทดสอบนโยบาย

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

ในการกำหนดค่าพร็อกซี API ระบบจะจัดเก็บไฟล์นโยบายเป็นไฟล์ XML ไว้ในไดเรกทอรี /apiproxy/policies

ตัวอย่างเช่น คุณสามารถสร้างนโยบายประเภทโควต้าที่ชื่อ "QuotaPolicy" เป็นไฟล์ชื่อ QuotaPolicy.xml ที่มีเนื้อหาดังนี้

<Quota enabled="true" continueOnError="false" name="QuotaPolicy">
    <Allow count="1"/>
    <Interval>1</Interval>
    <TimeUnit>minute</TimeUnit>
</Quota>

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

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

นโยบายทั้งหมดกำหนดแอตทริบิวต์ต่อไปนี้

  • enabled: ระบุว่านโยบาย "เปิด" หรือ "ปิด" คุณสามารถเปิด/ปิดใช้นโยบายได้ในรันไทม์โดยเปลี่ยนการตั้งค่านี้ นโยบายที่ตั้งค่า enabled เป็น false จะไม่มีผล
  • continueOnError: กำหนดว่าไปป์ไลน์ควรดำเนินการกับข้อความต่อไปหรือไม่หากนโยบายล้มเหลว เมื่อบังคับใช้นโยบายโควต้า ข้อผิดพลาดมักจะบ่งชี้ว่ามีการใช้โควต้าเกิน ดังนั้นคุณควรตั้งค่าแอตทริบิวต์นี้เป็น "เท็จ"
  • name: ชื่อที่คุณกำหนดให้กับนโยบายนี้ ชื่อนี้เป็นชื่อที่ไม่ซ้ำกันสำหรับอินสแตนซ์นโยบายนี้ และใช้เพื่อแนบนโยบายกับโฟลว์เป็นขั้นตอนการประมวลผล

ในตัวอย่างข้างต้น องค์ประกอบ Allow, Interval และ TimeUnit เป็นองค์ประกอบที่เฉพาะเจาะจงสำหรับนโยบายโควต้า องค์ประกอบเหล่านี้มีการตั้งค่าที่บริการ API บังคับใช้ในนามของ API นโยบายประเภทอื่นๆ จะกำหนดการตั้งค่าของตนเอง ซึ่งคุณ ดูข้อมูลเพิ่มเติมได้ใน ข้อมูลอ้างอิงนโยบาย