यह Apigee Edge के दस्तावेज़ हैं.
पर जाएं
Apigee X दस्तावेज़. info
क्या
इसका इस्तेमाल, टारगेट कोटा नीति के तहत अनुमति वाले अनुरोधों की बची हुई संख्या में डाइनैमिक तरीके से बदलाव करने के लिए किया जाता है. आम तौर पर, इस नीति का इस्तेमाल, टारगेट कोटा नीति के मौजूदा कोटा की संख्या को कम करने के लिए किया जाता है. ऐसा, कोटा की संख्या रीसेट होने का इंतज़ार करने के बजाय किया जाता है.
उदाहरण के लिए, टारगेट कोटा नीति के तहत, डेवलपर को हर हफ़्ते 1,000 अनुरोध भेजने की अनुमति होती है. हफ़्ते के दूसरे दिन तक, डेवलपर पहले ही इस सीमा तक पहुंच चुका होता है. कोटा रीसेट करने की नीति का इस्तेमाल करके, डेवलपर के कोटा काउंटर से 500 घटाएं, ताकि हफ़्ते के बाकी दिनों में उसे 500 और अनुरोध भेजने की अनुमति मिल सके. हफ़्ते के आखिर में, कोटा नीति रीसेट हो जाती है. इसके बाद, डेवलपर को हफ़्ते में 1,000 अनुरोध भेजने की अनुमति मिल जाती है.
कोटा नीति के बारे में ज़्यादा जानने के लिए, कोटा नीति देखें. कोटा रीसेट करने की नीति के इस्तेमाल के बारे में जानने के लिए, कम्यूनिटी का यह पोस्ट भी देखें.
सैंपल
नीति के कोड के इन सैंपल से, कोटा काउंटर रीसेट करने का तरीका पता चलता है:
डिफ़ॉल्ट काउंटर रीसेट करना
<ResetQuota name="resetQuota">
<Quota name="MyQuotaPolicy">
<Identifier name="_default">
<Allow>100</Allow>
</Identifier>
</Quota>
</ResetQuota>कोटा रीसेट करने की नीति, name एट्रिब्यूट का इस्तेमाल करके, टारगेट कोटा नीति की जानकारी देती है. ऊपर दिए गए उदाहरण में, MyQuotaPolicy नीति टारगेट है.
कोटा रीसेट करने की सभी नीतियों के लिए, <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><ResetQuota> एट्रिब्यूट
<ResetQuota async="false" continueOnError="false" enabled="true" name="Reset-Quota-1">
यहां दी गई टेबल में, ऐसे एट्रिब्यूट के बारे में बताया गया है जो नीति के सभी पैरंट एलिमेंट में एक जैसे होते हैं:
| एट्रिब्यूट | ब्यौरा | डिफ़ॉल्ट | मौजूदगी |
|---|---|---|---|
name |
नीति का अंदरूनी नाम. इसके अलावा, नीति को लेबल करने के लिए, |
लागू नहीं | ज़रूरी है |
continueOnError |
किसी नीति के काम न करने पर, गड़बड़ी दिखाने के लिए नीति के लागू होने के बाद भी फ़्लो को एक्ज़ीक्यूट करने के लिए, इसे |
गलत | वैकल्पिक |
enabled |
नीति को लागू करने के लिए, नीति को बंद करने के लिए, |
सही | वैकल्पिक |
async |
यह एट्रिब्यूट अब काम नहीं करता. |
गलत | बहिष्कृत |
<DisplayName> एलिमेंट
इस कॉलम में नीति को लेबल करने के लिए, name एट्रिब्यूट के साथ-साथ इस्तेमाल करें
मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) प्रॉक्सी एडिटर, जिसका नाम अलग और सामान्य भाषा में है.
<DisplayName>Policy Display Name</DisplayName>
| डिफ़ॉल्ट |
लागू नहीं अगर आप इस एलिमेंट को छोड़ देते हैं, तो नीति की |
|---|---|
| मौजूदगी | वैकल्पिक |
| टाइप | स्ट्रिंग |
<Quota> एलिमेंट
यह उस टारगेट कोटा नीति की पहचान करता है जिसका काउंटर अपडेट किया जाना चाहिए.
<Quota name="quotaName" ref="request.header.quotapolicy">
<Identifier name="identifierName" ref="request.header.identifier">
<Allow>100</Allow>
</Identifier>
</Quota>| डिफ़ॉल्ट: | लागू नहीं |
| मौजूदगी: | ज़रूरी है |
| टाइप: | लागू नहीं |
एट्रिब्यूट
| एट्रिब्यूट | ब्यौरा | डिफ़ॉल्ट | मौजूदगी |
|---|---|---|---|
| name |
टारगेट कोटा नीति का नाम तय करता है. |
लागू नहीं | वैकल्पिक |
| ref | यह एक फ़्लो वैरिएबल है, जिसमें टारगेट कोटा नीति का नाम होता है. अगर दोनों ref और name तय किए जाते हैं, तो ref को प्राथमिकता मिलती है. अगर रनटाइम पर ref की वैल्यू नहीं मिलती है, तो name का इस्तेमाल किया जाता है. | लागू नहीं | वैकल्पिक |
<Quota>/<Identifier> एलिमेंट
अगर टारगेट कोटा नीति में <Identifier> टैग तय किया गया है, तो काउंटर की यूनीक पहचान करने के लिए इस्तेमाल किया जाने वाला वैरिएबल.
<Quota name="quotaName">
<Identifier name="identifierName" ref="request.header.identifier">
<Allow>100</Allow>
</Identifier>
</Quota>| डिफ़ॉल्ट: | लागू नहीं |
| मौजूदगी: | ज़रूरी है |
| टाइप: | स्ट्रिंग |
एट्रिब्यूट
| एट्रिब्यूट | ब्यौरा | डिफ़ॉल्ट | मौजूदगी |
|---|---|---|---|
| name |
टारगेट कोटा नीति में, गिनती के आइडेंटिफ़ायर का नाम तय करता है. ऐसी कोटा नीति के लिए जिसमें <Identifier> टैग का इस्तेमाल नहीं किया गया है, _default तय करें. |
लागू नहीं | वैकल्पिक |
| ref |
यह एक फ़्लो वैरिएबल है, जिसमें टारगेट कोटा नीति में गिनती के आइडेंटिफ़ायर का नाम होता है. अगर ref और name, दोनों तय किए जाते हैं, तो ref को प्राथमिकता मिलती है. अगर रनटाइम पर ref की वैल्यू नहीं मिलती है, तो name का इस्तेमाल किया जाता है. |
लागू नहीं | वैकल्पिक |
<Quota>/<Identifier>/<Allow> एलिमेंट
कोटा काउंटर को कम करने के लिए, रकम तय करता है. <Allow> तय करना ज़रूरी है. ऐसा न करने पर, नीति कोटा में बदलाव नहीं करती.
<Identifier name="identifierName" ref="request.header.identifier"> <Allow ref="request.header.allowquota">100</Allow> </Identifier>
| डिफ़ॉल्ट: | लागू नहीं |
| मौजूदगी: | ज़रूरी है |
| टाइप: | पूर्णांक |
एट्रिब्यूट
| एट्रिब्यूट | ब्यौरा | डिफ़ॉल्ट | मौजूदगी |
|---|---|---|---|
| ref |
यह एक फ़्लो वैरिएबल है, जिसमें टारगेट कोटा नीति में कोटा की संख्या में किया गया बदलाव होता है. |
लागू नहीं | वैकल्पिक |
<Quota>/<Identifier>/<Class> एलिमेंट
उस क्लास की जानकारी देता है जिसके लिए कोटा काउंटर अपडेट किया जाता है. कोटा नीति के साथ क्लास का इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, कोटा नीति देखें.
<Identifier name="_default">
<Class ref="request.header.classIdentifier">
<Allow>200</Allow>
</Class>
</Identifier>| डिफ़ॉल्ट: | लागू नहीं |
| मौजूदगी: | वैकल्पिक |
| टाइप: | लागू नहीं |
एट्रिब्यूट
| एट्रिब्यूट | ब्यौरा | डिफ़ॉल्ट | मौजूदगी |
|---|---|---|---|
| ref |
उस फ़्लो वैरिएबल का रेफ़रंस जिसमें अपडेट किए जाने वाले कोटा क्लास की जानकारी होती है. |
लागू नहीं | वैकल्पिक |
गड़बड़ी का रेफ़रंस
यह सेक्शन गड़बड़ी के कोड और दिखाए गए गड़बड़ी के मैसेज के बारे में बताता है. साथ ही, इस नीति के ट्रिगर होने पर Edge की मदद से सेट की गई गड़बड़ी के वैरिएबल के बारे में बताता है. यह जानकारी जानना ज़रूरी है कि क्या गड़बड़ियों को ठीक करने के लिए, गड़बड़ी से जुड़े नियम बनाए जा रहे हैं. ज़्यादा जानने के लिए, नीति से जुड़ी गड़बड़ियों के बारे में आपके लिए ज़रूरी जानकारी और गड़बड़ियों को ठीक करने के तरीके देखें.
रनटाइम से जुड़ी गड़बड़ियां
नीति के लागू होने पर ये गड़बड़ियां हो सकती हैं.
| गड़बड़ी का कोड | एचटीटीपी कोड स्थिति | वजह | समाधान |
|---|---|---|---|
policies.resetquota.InvalidRLPolicy |
500 | कोटा रीसेट करने की नीति के <Quota> एलिमेंट में बताई गई कोटा नीति की जानकारी, एपीआई प्रॉक्सी में नहीं दी गई है. इसलिए, यह फ़्लो के दौरान उपलब्ध नहीं होती. <Quota>
एलिमेंट ज़रूरी है. यह टारगेट कोटा नीति की पहचान करता है, जिसके काउंटर को
कोटा रीसेट करने की नीति की मदद से अपडेट किया जाना चाहिए. |
build |
policies.resetquota.FailedToResolveAllowCountRef |
लागू नहीं | नीति के <Allow> एलिमेंट में
उस वैरिएबल के रेफ़रंस को किसी वैल्यू के तौर पर नहीं रखा जा सकता जिसमें अनुमति देने की संख्या शामिल है. यह एलिमेंट ज़रूरी है और यह कोटा काउंटर को कम करने के लिए
रकम बताता है. |
build |
policies.resetquota.FailedToResolveRLPolicy |
500 | <Quota> एलिमेंट में ref एट्रिब्यूट से रेफ़र किए गए वैरिएबल
को हल नहीं किया जा सकता. |
build |
डिप्लॉयमेंट से जुड़ी गड़बड़ियां
ये गड़बड़ियां तब हो सकती हैं, जब इस नीति वाले किसी प्रॉक्सी को डिप्लॉय किया जाता है.
| गड़बड़ी का नाम | वजह | समाधान |
|---|---|---|
InvalidCount |
अगर कोटा रीसेट करने की नीति के <Allow> एलिमेंट में बताई गई संख्या की वैल्यू कोई पूर्णांक नहीं है,
तो एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता.
|
build |