นโยบาย MonetizationLimitsCheck

คุณกำลังดูเอกสารประกอบ 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 ไม่มีข้อมูล จำเป็น

ชื่อภายในของนโยบาย ค่าของแอตทริบิวต์ name มีตัวอักษร ตัวเลข ช่องว่าง ขีดกลาง ขีดล่าง และจุดได้ ค่านี้ต้องมีความยาวไม่เกิน 255 อักขระ

ใช้องค์ประกอบ <DisplayName> เพื่อติดป้ายกํากับนโยบายในตัวแก้ไขพร็อกซี UI การจัดการด้วยชื่อภาษาอื่นที่เป็นธรรมชาติได้

continueOnError เท็จ ไม่บังคับ ตั้งค่าเป็น "false" เพื่อแสดงข้อผิดพลาดเมื่อนโยบายล้มเหลว ซึ่งเป็นลักษณะการทํางานที่คาดหวังตามนโยบายส่วนใหญ่ ตั้งค่าเป็น "จริง" เพื่อดําเนินการโฟลว์ข้อมูลต่อไป แม้ว่านโยบายจะล้มเหลวก็ตาม
enabled จริง ไม่บังคับ ตั้งค่าเป็น "true" เพื่อบังคับใช้นโยบาย ตั้งค่าเป็น "false" เพื่อ "ปิด" นโยบาย ระบบจะไม่บังคับใช้นโยบายแม้ว่าจะยังคงแนบไปกับโฟลว์
async   เท็จ เลิกใช้ แอตทริบิวต์นี้เลิกใช้งานแล้ว

การอ้างอิงองค์ประกอบย่อย

ส่วนนี้จะอธิบายองค์ประกอบย่อยของ <MonetizationLimitsCheck>

<DisplayName>

ใช้เพิ่มเติมจากแอตทริบิวต์ name เพื่อติดป้ายกำกับนโยบายใน เครื่องมือแก้ไขพร็อกซี UI การจัดการด้วยชื่อที่ฟังดูเป็นธรรมชาติมากขึ้น

องค์ประกอบ <DisplayName> มีอยู่ในนโยบายทั้งหมด

ค่าเริ่มต้น ไม่มี
ต้องระบุหรือไม่ ไม่บังคับ หากคุณไม่ใส่ <DisplayName> ค่าของแอตทริบิวต์ ใช้แอตทริบิวต์ name ของนโยบาย
ประเภท สตริง
องค์ประกอบระดับบนสุด &lt;PolicyElement&gt;
องค์ประกอบย่อย ไม่มี

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