रीसेट कोटा नीति

Apigee Edge दस्तावेज़ देखा जा रहा है.
Apigee X दस्तावेज़ पर जाएं.
जानकारी

यह क्या है

इसका इस्तेमाल, टारगेट कोटा नीति के हिसाब से मंज़ूर किए गए अनुरोधों की बाकी संख्या को डाइनैमिक तौर पर बदलने के लिए करें. आम तौर पर, इस नीति का इस्तेमाल टारगेट कोटा नीति के मौजूदा कोटा की संख्या को कम करने के लिए किया जाता है. इससे, कोटा की गिनती के रीसेट होने का इंतज़ार नहीं किया जाता.

उदाहरण के लिए, टारगेट कोटा नीति के मुताबिक, डेवलपर हर हफ़्ते 1,000 अनुरोधों को सीमित कर सकता है. हफ़्ते के दूसरे दिन तक, डेवलपर इस सीमा तक पहले ही पहुंच चुका होता है. कोटा रीसेट करने की नीति का इस्तेमाल करके, उनके कोटा काउंटर से 500 की संख्या कम की जा सकती है. ऐसा करके, हफ़्ते के बाकी बचे समय में 500 और अनुरोध किए जा सकते हैं. हफ़्ते के आखिर में, कोटा नीति रीसेट हो जाती है और डेवलपर को फिर से हफ़्ते के 1, 000 अनुरोध भेज दिए जाते हैं.

कोटा नीति के बारे में ज़्यादा जानने के लिए, कोटा नीति देखें. कोटा रीसेट करने की नीति के इस्तेमाल से जुड़ी यह कम्यूनिटी पोस्ट भी देखें.

सैंपल

नीति के इन कोड के सैंपल में, कोटा काउंटर को रीसेट करने का तरीका बताया गया है:

डिफ़ॉल्ट काउंटर रीसेट करें

<ResetQuota name="resetQuota">
   <Quota name="MyQuotaPolicy">
      <Identifier name="_default">
         <Allow>100</Allow>
      </Identifier>
   </Quota>
</ResetQuota>

कोटा रीसेट करने की नीति, <QUOTA> टैग के name एट्रिब्यूट का इस्तेमाल करके, टारगेट कोटा नीति के बारे में बताती है. ऊपर दिए गए उदाहरण में, My इन्वेंट्री की नीति को टारगेट के तौर पर इस्तेमाल किया गया है.

सभी रीसेट कोटा की नीतियों के लिए <Identifier> टैग ज़रूरी है कि कोटा नीति में काउंटर के बारे में बताया जाए, ताकि उन्हें अपडेट किया जा सके. डिफ़ॉल्ट रूप से, कोटा नीति में एक काउंटर होता है. हालांकि, ऐसा तब तक होगा, जब तक कोटा नीति में <Identifier> टैग भी शामिल न हो. इस उदाहरण में, टारगेट कोटा नीति <Identifier> टैग का इस्तेमाल नहीं करती है. इसलिए, आपको name एट्रिब्यूट को _default के तौर पर बताना है.

<Allow> एलिमेंट उस वैल्यू के बारे में बताता है जिसका इस्तेमाल टारगेट नीति के लिए मौजूदा कोटा की संख्या को कम करने के लिए किया जाता है. इस उदाहरण में, कोटे की संख्या 100 घटा दी गई है, ताकि टारगेट कोटा नीति के लिए 100 और अनुरोध किए जा सकें. टारगेट कोटा नीति के रीसेट होने पर, यह बदलाव खारिज कर दिया जाता है.

टारगेट कोटा नीति की परिभाषा यहां दी गई है:

<Quota name="MyQuotaPolicy">
  <Interval>5</Interval>
  <TimeUnit>hour</TimeUnit>
  <Allow count="100"/>
</Quota>

रेफ़रंस का इस्तेमाल करना

<ResetQuota name="resetQuota">
   <Quota ref="request.header.quotapolicy">
      <Identifier name="_default">
         <Allow ref="request.header.allowquota" />
      </Identifier>
   </Quota>
</ResetQuota>

इस उदाहरण में, टारगेट कोटा नीति का नाम और उसके कोटा की संख्या में हुए बदलाव को अनुरोध में हेडर के तौर पर पास किया जाता है. इसके बाद, रीसेट करें कोटा नीति में, इन वैल्यू वाले फ़्लो वैरिएबल का रेफ़रंस दिया जा सकता है.

आइडेंटिफ़ायर तय करें

<ResetQuota name="resetQuota">
   <Quota name="QuotaPolicy">
      <Identifier ref="request.header.clientId">
         <Allow>100</Allow>
      </Identifier>
   </Quota>
</ResetQuota>

अगर टारगेट कोटा नीति में <Identifier> टैग है, तो कोटा रीसेट करने की नीति के <Identifier> टैग में वही वैल्यू तय की जा सकती है. ऐसा करके, किसी कोटा की संख्या को अपडेट किया जा सकता है. ध्यान दें कि नीचे दी गई टारगेट कोटा नीति में मौजूद <Identifier> टैग, कोटा रीसेट करने की नीति में बताई गई वैल्यू से कैसे मेल खाता है:

<Quota name="QuotaPolicy">
  <Identifier ref="request.header.clientId"/> 
  <Interval>5</Interval>
  <TimeUnit>hour</TimeUnit>
  <Allow count="100"/>
</Quota>

एलिमेंट का रेफ़रंस

एलिमेंट रेफ़रंस, रीसेट कोटा नीति के एलिमेंट और एट्रिब्यूट के बारे में बताता है.

<ResetQuota async="false" continueOnError="false" enabled="true" name="Reset-Quota-1">
   <DisplayName>Reset Quota 1</DisplayName>
   <Quota name="quotaName" ref="request.header.quotapolicy">
      <Identifier name="identifierName" ref="request.header.identifier">
         <Class ref="request.header.classIdentifier" />
         <Allow>100</Allow>
      </Identifier>
   </Quota>
</ResetQuota>

<Reset रीस्टार्ट> एट्रिब्यूट

<ResetQuota async="false" continueOnError="false" enabled="true" name="Reset-Quota-1"> 

इस टेबल में उन एट्रिब्यूट के बारे में बताया गया है जो नीति के सभी पैरंट एलिमेंट के लिए एक जैसे होते हैं:

एट्रिब्यूट ब्यौरा डिफ़ॉल्ट मौजूदगी
name

नीति का अंदरूनी नाम. name एट्रिब्यूट की वैल्यू में अक्षर, संख्याएं, स्पेस, हाइफ़न, अंडरस्कोर, और पीरियड शामिल किए जा सकते हैं. इस वैल्यू में 255 से ज़्यादा वर्ण नहीं हो सकते.

इसके अलावा, मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) प्रॉक्सी एडिटर में नीति को आम भाषा में अलग नाम से लेबल करने के लिए, <DisplayName> एलिमेंट का इस्तेमाल करें.

लागू नहीं ज़रूरी है
continueOnError

इस नीति को false पर सेट करें, ताकि नीति के काम न करने पर गड़बड़ी का मैसेज दिखे. ज़्यादातर नीतियों में, ऐसा आम तौर पर किया जाता है.

किसी नीति के काम न करने पर भी फ़्लो एक्ज़ीक्यूट करने की प्रोसेस को जारी रखने के लिए, true पर सेट करें.

false ज़रूरी नहीं
enabled

नीति लागू करने के लिए, true पर सेट करें.

नीति को बंद करने के लिए, false पर सेट करें. अगर यह नीति किसी फ़्लो से जुड़ी हुई है, तब भी उसे लागू नहीं किया जाएगा.

सही ज़रूरी नहीं
async

यह एट्रिब्यूट अब काम नहीं करता.

false बहिष्कृत

<DisplayName> एलिमेंट

मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) प्रॉक्सी एडिटर में, आम भाषा के अलग नाम से नीति को लेबल करने के लिए, name एट्रिब्यूट का इस्तेमाल करें.

<DisplayName>Policy Display Name</DisplayName>
डिफ़ॉल्ट

लागू नहीं

अगर इस एलिमेंट को छोड़ दिया जाता है, तो नीति के name एट्रिब्यूट की वैल्यू का इस्तेमाल किया जाता है.

मौजूदगी ज़रूरी नहीं
Type String

<कोटा> एलिमेंट

टारगेट कोटा नीति की पहचान करता है जिसके काउंटर को अपडेट किया जाना चाहिए.

<Quota name="quotaName"  ref="request.header.quotapolicy">
   <Identifier name="identifierName" ref="request.header.identifier">
      <Allow>100</Allow>
   </Identifier>
</Quota>
डिफ़ॉल्ट: लागू नहीं
मौजूदगी: ज़रूरी है
टाइप: लागू नहीं

एट्रिब्यूट

एट्रिब्यूट ब्यौरा डिफ़ॉल्ट मौजूदगी
नाम

इससे, टारगेट कोटा नीति का नाम पता चलता है.

लागू नहीं ज़रूरी नहीं
संदर्भ ऐसा फ़्लो वैरिएबल जिसमें टारगेट कोटा नीति का नाम होता है. अगर ref और name, दोनों दिए गए हैं, तो ref को प्राथमिकता दी जाएगी. अगर ref से रनटाइम के दौरान समस्या का पता नहीं चलता है, तो name का इस्तेमाल किया जाता है. लागू नहीं ज़रूरी नहीं

<कोटा>/<आइडेंटिफ़ायर> एलिमेंट

अगर टारगेट कोटा नीति में <Identifier> टैग है, तो काउंटर की पहचान करने के लिए खास वैरिएबल का इस्तेमाल किया जाता है.

<Quota name="quotaName">
   <Identifier name="identifierName" ref="request.header.identifier">
      <Allow>100</Allow>
   </Identifier>
</Quota>
डिफ़ॉल्ट: लागू नहीं
मौजूदगी: ज़रूरी है
टाइप: String

एट्रिब्यूट

एट्रिब्यूट ब्यौरा डिफ़ॉल्ट मौजूदगी
नाम

इससे टारगेट कोटा नीति में संख्या के आइडेंटिफ़ायर के नाम के बारे में पता चलता है. <Identifier> टैग का इस्तेमाल न करने वाली कोटा नीति के लिए, _default तय करें.

लागू नहीं ज़रूरी नहीं
संदर्भ

ऐसा फ़्लो वैरिएबल जिसमें टारगेट कोटा नीति में मौजूद संख्या के आइडेंटिफ़ायर का नाम शामिल होता है. अगर ref और name, दोनों दिए गए हैं, तो ref को प्राथमिकता दी जाती है. अगर रनटाइम के दौरान ref की समस्या हल नहीं होती, तो name का इस्तेमाल किया जाता है.

लागू नहीं ज़रूरी नहीं

<कोटा>/<Identifier>/<Allow> एलिमेंट

कोटा काउंटर को कम करने के लिए रकम की जानकारी देता है. आपको <Allow> के बारे में बताना होगा. ऐसा न करने पर, नीति कोटा में बदलाव नहीं करेगी.

<Identifier name="identifierName" ref="request.header.identifier">
   <Allow ref="request.header.allowquota">100</Allow>
</Identifier>
डिफ़ॉल्ट: लागू नहीं
मौजूदगी: ज़रूरी है
टाइप: Integer

एट्रिब्यूट

एट्रिब्यूट ब्यौरा डिफ़ॉल्ट मौजूदगी
संदर्भ

ऐसा फ़्लो वैरिएबल जिसमें टारगेट कोटा नीति में कोटे की संख्या में बदलाव होता है.

लागू नहीं ज़रूरी नहीं

<कोटा>/<आइडेंटिफ़ायर>/<Class> एलिमेंट

उस क्लास के बारे में बताता है जिसके लिए कोटा काउंटर अपडेट किया जाता है. कोटा की नीति के साथ क्लास का इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, कोटा की नीति पढ़ें.

<Identifier name="_default">
   <Class ref="request.header.classIdentifier">
     <Allow>200</Allow>
   </Class>
</Identifier>
डिफ़ॉल्ट: लागू नहीं
मौजूदगी: ज़रूरी नहीं
टाइप: लागू नहीं

एट्रिब्यूट

एट्रिब्यूट ब्यौरा डिफ़ॉल्ट मौजूदगी
संदर्भ

उस फ़्लो वैरिएबल का रेफ़रंस जिसमें अपडेट करने के लिए कोटा क्लास शामिल है.

लागू नहीं ज़रूरी नहीं

गड़बड़ी का रेफ़रंस

यह सेक्शन गड़बड़ी के कोड और दिखाए गए गड़बड़ी के मैसेज के बारे में बताता है. साथ ही, इस नीति के ट्रिगर होने पर Edge की मदद से सेट की गई गड़बड़ी के वैरिएबल के बारे में बताता है. यह जानकारी जानना ज़रूरी है कि क्या गड़बड़ियों को ठीक करने के लिए, गड़बड़ी से जुड़े नियम बनाए जा रहे हैं. ज़्यादा जानने के लिए, नीति से जुड़ी गड़बड़ियों के बारे में आपके लिए ज़रूरी जानकारी और गड़बड़ियों को ठीक करने के तरीके देखें.

रनटाइम से जुड़ी गड़बड़ियां

नीति के लागू होने पर ये गड़बड़ियां हो सकती हैं.

गड़बड़ी का कोड एचटीटीपी कोड स्थिति वजह समाधान
policies.resetquota.InvalidRLPolicy 500 कोटा रीसेट करने की नीति के <Quota> एलिमेंट में बताई गई कोटा नीति की जानकारी, एपीआई प्रॉक्सी में नहीं दी गई है. इसलिए, यह फ़्लो के दौरान उपलब्ध नहीं होती. <Quota> एलिमेंट ज़रूरी है. यह टारगेट कोटा नीति की पहचान करता है, जिसके काउंटर को कोटा रीसेट करने की नीति की मदद से अपडेट किया जाना चाहिए.
policies.resetquota.FailedToResolveAllowCountRef लागू नहीं नीति के <Allow> एलिमेंट में उस वैरिएबल के रेफ़रंस को किसी वैल्यू के तौर पर नहीं रखा जा सकता जिसमें अनुमति देने की संख्या शामिल है. यह एलिमेंट ज़रूरी है और यह कोटा काउंटर को कम करने के लिए रकम बताता है.
policies.resetquota.FailedToResolveRLPolicy 500 <Quota> एलिमेंट में ref एट्रिब्यूट से रेफ़र किए गए वैरिएबल को हल नहीं किया जा सकता.

डिप्लॉयमेंट से जुड़ी गड़बड़ियां

ये गड़बड़ियां तब हो सकती हैं, जब इस नीति वाले किसी प्रॉक्सी को डिप्लॉय किया जाता है.

गड़बड़ी का नाम वजह समाधान
InvalidCount अगर कोटा रीसेट करने की नीति के <Allow> एलिमेंट में बताई गई संख्या की वैल्यू कोई पूर्णांक नहीं है, तो एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता.

स्कीमा

मिलते-जुलते विषय

कोटा नीति