คุณกำลังดูเอกสารประกอบ Apigee Edge
ไปที่
เอกสารประกอบเกี่ยวกับ Apigee X. ข้อมูล
ภาพรวม
นโยบาย MonetizationLimitsCheck ช่วยให้คุณสามารถบังคับใช้ขีดจำกัดการสร้างรายได้กับการเรียก API โดยนักพัฒนาแอป
ตัวอย่างกรณีที่นโยบายถูกเรียกใช้มีดังนี้
- หากนักพัฒนาแอปที่เข้าถึง API ที่สร้างรายได้ไม่ได้สมัครใช้บริการ ผลิตภัณฑ์ API ที่เชื่อมโยง
- บัญชีนักพัฒนาแอปมียอดคงเหลือไม่เพียงพอ
- นักพัฒนาแอปมีปริมาณธุรกรรมเกินขีดจำกัด
โปรดดูข้อมูลเกี่ยวกับวิธีแนบนโยบายกับพร็อกซี API ที่ บังคับใช้ขีดจำกัดการสร้างรายได้ในพร็อกซี API
องค์ประกอบ <MonetizationLimitsCheck>
ระบุนโยบาย MonetizationLimitsCheck
ค่าเริ่มต้น | ไม่มี |
ต้องระบุหรือไม่ | ต้องระบุ |
ประเภท | ประเภทที่ซับซ้อน |
องค์ประกอบระดับบนสุด | ไม่มี |
องค์ประกอบย่อย |
<DisplayName> <FaultResponse> <IgnoreUnresolvedVariables> <Variables> |
ตารางต่อไปนี้แสดงคำอธิบายระดับสูงขององค์ประกอบย่อยของ <MonetizationLimitsCheck>
องค์ประกอบย่อย | จำเป็นหรือไม่ | คำอธิบาย |
---|---|---|
<DisplayName> |
ไม่บังคับ | ชื่อที่กำหนดเองสำหรับนโยบาย |
<FaultResponse> |
ไม่บังคับ | ระบุข้อความตอบกลับที่ส่งคืนไปยังไคลเอ็นต์ที่ส่งคำขอเมื่อ ก็เกิดความผิดพลาดขึ้น |
<IgnoreUnresolvedVariables> |
ไม่บังคับ | กำหนดว่าการประมวลผลจะหยุดเมื่อพบตัวแปรที่ยังไม่ได้รับคำตอบหรือไม่ |
<Variables> |
ไม่บังคับ | ระบุตัวแปรขั้นตอนที่จะตรวจสอบขีดจำกัดการสร้างรายได้ |
องค์ประกอบ <MonetizationLimitsCheck>
ใช้ไวยากรณ์ต่อไปนี้
ไวยากรณ์
<?xml version="1.0" encoding="UTF-8"?> <MonetizationLimitsCheck async="false" continueOnError="false" enabled="true" name="POLICY_NAME"> <DisplayName>DISPLAY_NAME</DisplayName> <IgnoreUnresolvedVariables>[true|false]</IgnoreUnresolvedVariables> <Variables> <Product>VARIABLE_NAME</Product> </Variables> <FaultResponse> <Set> <Payload contentType="text/xml"> <error> <messages> <message>MESSAGE_TEXT</message> <message>MESSAGE_TEXT</message> </messages> </error> </Payload> <StatusCode>HTTP_STATUS</StatusCode> <ReasonPhrase>REASON_TEXT</ReasonPhrase> </Set> </FaultResponse> </MonetizationLimitsCheck>
ตัวอย่าง
ตัวอย่างต่อไปนี้แสดงคำจำกัดความของนโยบาย MonetizationLimitsCheck
<?xml version="1.0" encoding="UTF-8"?> <MonetizationLimitsCheck async="false" continueOnError="false" enabled="true" name="Monetization-Limits-Check"> <DisplayName>Monetization Limits Check</DisplayName> <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> <Variables> <Product>myproductvar.name</Product> </Variables> <FaultResponse> <Set> <Payload contentType="text/xml"> <error> <messages> <message>Developer has reached usage quota</message> <message>Is Developer Suspended - {monetizationLimits.isDeveloperSuspended} </message> </messages> </error> </Payload> <StatusCode>403</StatusCode> <ReasonPhrase>Forbidden</ReasonPhrase> </Set> </FaultResponse> </MonetizationLimitsCheck>
องค์ประกอบนี้มีแอตทริบิวต์ต่อไปนี้ซึ่งมักใช้กับนโยบายทั้งหมด
แอตทริบิวต์ | ค่าเริ่มต้น | จําเป็นไหม | คำอธิบาย |
---|---|---|---|
name |
ไม่มีข้อมูล | จำเป็น |
ชื่อภายในของนโยบาย ค่าของแอตทริบิวต์ ใช้องค์ประกอบ |
continueOnError |
เท็จ | ไม่บังคับ | ตั้งค่าเป็น "false" เพื่อแสดงข้อผิดพลาดเมื่อนโยบายล้มเหลว ซึ่งเป็นลักษณะการทํางานที่คาดหวังตามนโยบายส่วนใหญ่ ตั้งค่าเป็น "จริง" เพื่อดําเนินการโฟลว์ข้อมูลต่อไป แม้ว่านโยบายจะล้มเหลวก็ตาม |
enabled |
จริง | ไม่บังคับ | ตั้งค่าเป็น "true" เพื่อบังคับใช้นโยบาย ตั้งค่าเป็น "false" เพื่อ "ปิด" นโยบาย ระบบจะไม่บังคับใช้นโยบายแม้ว่าจะยังคงแนบไปกับโฟลว์ |
async |
เท็จ | เลิกใช้ | แอตทริบิวต์นี้เลิกใช้งานแล้ว |
การอ้างอิงองค์ประกอบย่อย
ส่วนนี้จะอธิบายองค์ประกอบย่อยของ<MonetizationLimitsCheck>
<DisplayName>
ใช้เพิ่มเติมจากแอตทริบิวต์ name
เพื่อติดป้ายกำกับนโยบายใน
เครื่องมือแก้ไขพร็อกซี UI การจัดการด้วยชื่อที่ฟังดูเป็นธรรมชาติมากขึ้น
องค์ประกอบ <DisplayName>
มีอยู่ในนโยบายทั้งหมด
ค่าเริ่มต้น | ไม่มี |
ต้องระบุหรือไม่ | ไม่บังคับ หากคุณไม่ใส่ <DisplayName> ค่าของแอตทริบิวต์
ใช้แอตทริบิวต์ name ของนโยบาย |
ประเภท | สตริง |
องค์ประกอบระดับบนสุด | <PolicyElement> |
องค์ประกอบย่อย | ไม่มี |
องค์ประกอบ <DisplayName>
ใช้ไวยากรณ์ต่อไปนี้
ไวยากรณ์
<PolicyElement> <DisplayName>policy_display_name</DisplayName> ... </PolicyElement>
ตัวอย่าง
<PolicyElement> <DisplayName>My Validation Policy</DisplayName> </PolicyElement>
องค์ประกอบ <DisplayName>
ไม่มีแอตทริบิวต์หรือองค์ประกอบย่อย
<IgnoreUnresolvedVariables>
กำหนดว่าการประมวลผลนโยบายควรหยุดเมื่อ Apigee พบตัวแปรที่ยังไม่ได้แก้ไขหรือไม่
ค่าเริ่มต้น | จริง |
ต้องระบุหรือไม่ | ไม่บังคับ |
ประเภท | บูลีน |
องค์ประกอบระดับบนสุด |
<MonetizationLimitsCheck> |
องค์ประกอบย่อย | ไม่มี |
หากต้องการละเว้นตัวแปรที่ยังไม่ได้แก้ไขและประมวลผลต่อ ให้กำหนดค่าเป็น true
มิฉะนั้นจะเป็น false
ค่าเริ่มต้นคือ true
การตั้งค่า <IgnoreUnresolvedVariables>
เป็น true
แตกต่างจากการตั้งค่าองค์ประกอบ <MonetizationLimitsCheck>
continueOnError
ถึง true
หากคุณตั้งค่า continueOnError
เป็น true
Apigee จะไม่สนใจ
เฉพาะข้อผิดพลาดตัวแปร
แต่ข้อผิดพลาดทั้งหมด
องค์ประกอบ <IgnoreUnresolvedVariables>
ใช้ไวยากรณ์ต่อไปนี้
ไวยากรณ์
<IgnoreUnresolvedVariables>[true|false]</IgnoreUnresolvedVariables>
ตัวอย่าง
ตัวอย่างต่อไปนี้ตั้งค่า <IgnoreUnresolvedVariables>
เป็น false
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<Variables>
ระบุตัวแปรโฟลว์ที่คุณต้องการดึงข้อมูล ชื่อเอนทิตีหรือทรัพยากรในระหว่างการบังคับใช้นโยบาย
คุณจะระบุได้เฉพาะองค์ประกอบ <Product>
ภายในองค์ประกอบ <Variables>
Apigee คือ
ชื่อผลิตภัณฑ์ API จากตัวแปรโฟลว์ที่ระบุในองค์ประกอบ <Product>
หากคุณ
ไม่ระบุองค์ประกอบ <Variables>
โดยค่าเริ่มต้น Apigee จะใช้ชื่อผลิตภัณฑ์ API จาก
ตัวแปรบริบท apiproduct.name
Apigee จะใช้ชื่อผลิตภัณฑ์ของ API ก็ต่อเมื่อ
แพ็กเกจราคาที่เกี่ยวข้องสำหรับผลิตภัณฑ์และทำการตรวจสอบขีดจำกัดการสร้างรายได้
ค่าเริ่มต้น | ไม่มี |
ต้องระบุหรือไม่ | ไม่บังคับ |
ประเภท | ประเภทที่ซับซ้อน |
องค์ประกอบระดับบนสุด |
<MonetizationLimitsCheck> |
องค์ประกอบย่อย |
<Product> |
องค์ประกอบ <Variables>
ใช้ไวยากรณ์ต่อไปนี้
ไวยากรณ์
<Variables> <Product>VARIABLE_NAME</Product> </Variables>
ตัวอย่าง
ตัวอย่างต่อไปนี้ได้รับชื่อผลิตภัณฑ์ API จากตัวแปรโฟลว์ที่กำหนดเอง myproductvar.name
ที่อยู่ในขั้นตอนพร็อกซี API ของคุณ
<Variables> <Product>myproductvar.name</Product> </Variables>
คุณตั้งค่าตัวแปรโฟลว์ที่กำหนดเองได้โดยใช้นโยบาย เช่น AssignMessage หรือ JavaScript
<Product>
ระบุตัวแปรที่มีชื่อผลิตภัณฑ์ API
ค่าเริ่มต้น | ไม่มี |
ต้องระบุหรือไม่ | ไม่บังคับ |
ประเภท | สตริง |
องค์ประกอบระดับบนสุด |
<Variables> |
องค์ประกอบย่อย | ไม่มี |
องค์ประกอบ <Product>
ใช้ไวยากรณ์ต่อไปนี้
ไวยากรณ์
<Product>VARIABLE_NAME</Product>
ตัวอย่าง
ตัวอย่างต่อไปนี้ได้รับชื่อผลิตภัณฑ์ API จากตัวแปรโฟลว์ที่กำหนดเอง myproductvar.name
ที่อยู่ในขั้นตอนพร็อกซี API ของคุณ
<Product>myproductvar.name</Product>
คุณตั้งค่าตัวแปรโฟลว์ที่กำหนดเองได้โดยใช้นโยบาย เช่น AssignMessage หรือ JavaScript
<FaultResponse>
กำหนดข้อความตอบกลับที่ส่งคืนไปยังไคลเอ็นต์ที่ส่งคำขอหากเกิดข้อผิดพลาด คุณปรับแต่งคำตอบได้ ตามข้อกำหนดของคุณ ดูข้อมูลเพิ่มเติมเกี่ยวกับ และองค์ประกอบย่อยทั้งหมด โปรดดูที่ FaultResponse
ตัวแปรโฟลว์
หากคุณตั้งค่าองค์ประกอบ <MonetizationLimitsCheck>
แอตทริบิวต์ ContinueOnError
เป็น "จริง" ไม่มีการแสดงข้อผิดพลาด ในกรณีนี้ ค่า
ตัวแปรโฟลว์, mint.limitsViolated
, mint.isDeveloperSuspended
และ
ระบบจะตั้งค่า mint.limitsPolicyError
โดยอัตโนมัติ ตัวแปรเหล่านี้สามารถใช้เพื่อ
ดำเนินการจัดการข้อยกเว้นเพิ่มเติม หากจำเป็น