คุณกำลังดูเอกสารประกอบ 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" encodin>g<="UTF-8"? MonetizationLimitsCheck async="false" continueOnError="false>"<; enabled=&>quot;true&qu<ot; name=&qu>ot;PO<LICY_NAME" Displ>ayNameDISPLA<Y_NAME/DisplayName Ign>oreUn<resolvedV>ariables[<true|fa>lse]/IgnoreUn<resolved>Varia<bles V>ariab<les P>roductVAR<IAB>LE_NAME/Produ<ct /Variables FaultRes>ponse Set< > Payload conte<ntType=&>quot;text/xml" < > error < > messages < > m<essageME>SSAGE_TEXT/message < > mess<ageMES>SAGE_TEXT/mes<sage > < /messa>ges < /e>rror < /Payload> < StatusCodeH>TTP_STATU<S/St>atusC<ode > < ReasonPhraseREASON_TEXT>/ReasonPhrase /Set /FaultResponse /MonetizationLimitsCheck
ตัวอย่าง
ตัวอย่างต่อไปนี้แสดงคำจำกัดความของนโยบาย MonetizationLimitsCheck
<?xml version="1.0" encodin>g<="UTF-8"? MonetizationLimitsCheck async="false" continueOnError="false" enabled>=&quo<t;true">; name="Monetization<-Limits-Chec>k&quo<t; DisplayNameMonetiz>atio<n Limits Check/DisplayName> <IgnoreUnr>esolvedVa<riables>true/IgnoreUnreso<lvedVari>ables< Varia>bl<es Pr>oductmypro<duc>tvar.name/Prod<uct /Variables FaultRespo>nse Set < > Payload content<Type=&qu>ot;text/xml" < > error mess<ages > mess<ageDeve>loper has reached usage quota/message mess<ageIs De>veloper Suspended - {m<onetizati>onLimits.isDevelop<erSusp>ended} /messag<e > < /messages> < > /error < /P>ayload < St>atusCode40<3/St>at<usCode > < ReasonPhraseForbidde>n/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
โดยอัตโนมัติ ตัวแปรเหล่านี้สามารถใช้เพื่อ
ดำเนินการจัดการข้อยกเว้นเพิ่มเติม หากจำเป็น