আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন .info- তে যান।
সংক্ষিপ্ত বিবরণ
MonetizationLimitsCheck পলিসিটি আপনাকে অ্যাপ ডেভেলপারের করা এপিআই কলগুলোর ওপর মনিটাইজেশন সীমা আরোপ করার সুযোগ দেয়।
যেসব ক্ষেত্রে পলিসিটি কার্যকর হয়, তার কয়েকটি হলো:
- যদি কোনো অ্যাপ ডেভেলপার মনিটাইজড এপিআই অ্যাক্সেস করার সময় সংশ্লিষ্ট এপিআই প্রোডাক্টের সাবস্ক্রিপশন না কিনে থাকেন
- ডেভেলপারের অ্যাকাউন্টে অপর্যাপ্ত ব্যালেন্স রয়েছে।
- ডেভেলপার লেনদেনের পরিমাণের সীমা অতিক্রম করেছেন।
আপনার এপিআই প্রক্সিতে পলিসিটি কীভাবে সংযুক্ত করবেন সে সম্পর্কে তথ্যের জন্য, ‘এপিআই প্রক্সিতে নগদীকরণ সীমা প্রয়োগ করুন’ দেখুন।
<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 | N/A | প্রয়োজন | নীতির অভ্যন্তরীণ নাম। ঐচ্ছিকভাবে, ম্যানেজমেন্ট UI প্রক্সি এডিটরে নীতিটিকে একটি ভিন্ন, প্রাকৃতিক-ভাষা নামের সাথে লেবেল করতে |
continueOnError | মিথ্যা | ঐচ্ছিক | একটি নীতি ব্যর্থ হলে একটি ত্রুটি ফেরত দিতে "false" এ সেট করুন৷ এটি বেশিরভাগ নীতির জন্য প্রত্যাশিত আচরণ। একটি নীতি ব্যর্থ হওয়ার পরেও প্রবাহ সম্পাদন অব্যাহত রাখতে "সত্য" তে সেট করুন৷ |
enabled | সত্য | ঐচ্ছিক | নীতি প্রয়োগ করতে "সত্য" এ সেট করুন। নীতিটি "বন্ধ" করতে "মিথ্যা" এ সেট করুন। নীতিটি প্রবাহের সাথে সংযুক্ত থাকলেও তা কার্যকর করা হবে না। |
async | মিথ্যা | অবচয় | এই বৈশিষ্ট্যটি অবমূল্যায়ন করা হয়েছে৷ |
চাইল্ড এলিমেন্ট রেফারেন্স
এই বিভাগে<MonetizationLimitsCheck> এর চাইল্ড এলিমেন্টগুলো বর্ণনা করা হয়েছে।
<DisplayName>
ম্যানেজমেন্ট UI প্রক্সি এডিটরে নীতিটিকে একটি ভিন্ন, আরও স্বাভাবিক-শব্দযুক্ত নামের সাথে লেবেল করতে name বৈশিষ্ট্যের পাশাপাশি ব্যবহার করুন৷
<DisplayName> উপাদানটি সকল নীতিতে সাধারণ।
| ডিফল্ট মান | n/a |
| প্রয়োজন? | ঐচ্ছিক। আপনি <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>
পলিসি কার্যকর করার সময় আপনি যে ফ্লো ভেরিয়েবলগুলো থেকে এনটিটি বা রিসোর্সের নামগুলো সংগ্রহ করতে চান, তা নির্দিষ্ট করে।
আপনি <Variables> এলিমেন্টের মধ্যে শুধুমাত্র <Product> এলিমেন্টটি নির্দিষ্ট করতে পারেন। Apigee, <Product> এলিমেন্টে নির্দিষ্ট করা ফ্লো ভেরিয়েবল থেকে এপিআই প্রোডাক্টের নামটি সংগ্রহ করে। যদি আপনি <Variables> এলিমেন্টটি নির্দিষ্ট না করেন, তাহলে Apigee ডিফল্টভাবে apiproduct.name কনটেক্সট ভেরিয়েবল থেকে এপিআই প্রোডাক্টের নামটি সংগ্রহ করে। এপিআই প্রোডাক্টের নামটি ব্যবহার করে, Apigee সেই প্রোডাক্টের জন্য সংশ্লিষ্ট রেট প্ল্যানটি সংগ্রহ করে এবং মনিটাইজেশন লিমিট যাচাই করে।
| ডিফল্ট মান | প্রযোজ্য নয় |
| প্রয়োজন? | ঐচ্ছিক |
| প্রকার | জটিল প্রকার |
| মূল উপাদান | <MonetizationLimitsCheck> |
| শিশু উপাদান | <Product> |
<Variables> এলিমেন্টটি নিম্নলিখিত সিনট্যাক্স ব্যবহার করে:
সিনট্যাক্স
<Variables>
<Product>VARIABLE_NAME</Product>
</Variables>উদাহরণ
নিম্নলিখিত উদাহরণটি আপনার এপিআই প্রক্সি ফ্লো-তে উপস্থিত myproductvar.name কাস্টম ফ্লো ভেরিয়েবল থেকে এপিআই পণ্যের নামটি সংগ্রহ করে।
<Variables> <Product>myproductvar.name</Product> </Variables>
আপনি AssignMessage বা JavaScript-এর মতো পলিসি ব্যবহার করে কাস্টম ফ্লো ভেরিয়েবল সেট করতে পারেন।
<Product>
এপিআই পণ্যের নাম ধারণকারী ভেরিয়েবলটি নির্দিষ্ট করে।
| ডিফল্ট মান | প্রযোজ্য নয় |
| প্রয়োজন? | ঐচ্ছিক |
| প্রকার | স্ট্রিং |
| মূল উপাদান | <Variables> |
| শিশু উপাদান | কোনোটিই না |
<Product> এলিমেন্টটি নিম্নলিখিত সিনট্যাক্স ব্যবহার করে:
সিনট্যাক্স
<Product>VARIABLE_NAME</Product>
উদাহরণ
নিম্নলিখিত উদাহরণটি আপনার এপিআই প্রক্সি ফ্লো-তে উপস্থিত myproductvar.name কাস্টম ফ্লো ভেরিয়েবল থেকে এপিআই পণ্যের নামটি সংগ্রহ করে।
<Product>myproductvar.name</Product>
আপনি AssignMessage বা JavaScript-এর মতো পলিসি ব্যবহার করে কাস্টম ফ্লো ভেরিয়েবল সেট করতে পারেন।
<FaultResponse>
কোনো ত্রুটি ঘটলে অনুরোধকারী ক্লায়েন্টকে যে প্রতিক্রিয়া বার্তা ফেরত পাঠানো হবে, তা এটি নির্ধারণ করে। আপনি আপনার প্রয়োজন অনুযায়ী প্রতিক্রিয়া বার্তাগুলো কাস্টমাইজ করতে পারেন। এই এলিমেন্ট এবং এর সমস্ত চাইল্ড এলিমেন্ট সম্পর্কে আরও তথ্যের জন্য, FaultResponse দেখুন।
প্রবাহ পরিবর্তনশীল
যদি আপনি <MonetizationLimitsCheck> এলিমেন্টের ContinueOnError অ্যাট্রিবিউটটি true সেট করেন, তাহলে কোনো ফল্ট তৈরি হয় না। এক্ষেত্রে, mint.limitsViolated , mint.isDeveloperSuspended এবং mint.limitsPolicyError ফ্লো ভ্যারিয়েবলগুলো স্বয়ংক্রিয়ভাবে সেট হয়ে যায়। প্রয়োজনে আরও এক্সেপশন হ্যান্ডলিং করার জন্য এই ভ্যারিয়েবলগুলো ব্যবহার করা যেতে পারে।