आपको Apigee Edge दस्तावेज़ दिख रहा है.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
इस पेज पर जाएं
Apigee X दस्तावेज़. जानकारी
स्पाइक अरेस्ट नीति, <Rate>
एलिमेंट का इस्तेमाल करके ट्रैफ़िक में होने वाली बढ़ोतरी से बचाती है. यह
एलिमेंट, एपीआई प्रॉक्सी से प्रोसेस होने वाले और बैकएंड को भेजे गए अनुरोधों की संख्या को थ्रॉटल करता है,
इससे परफ़ॉर्मेंस में होने वाली देरी और डाउनटाइम से बचने में मदद मिलती है.
<SpikeArrest>
एलिमेंट
स्पाइक अरेस्ट से जुड़ी नीति के बारे में जानकारी देता है.
डिफ़ॉल्ट वैल्यू | नीचे डिफ़ॉल्ट नीति टैब देखें |
ज़रूरी है? | वैकल्पिक |
स्ट्रीम किस तरह की है | समझना मुश्किल है ऑब्जेक्ट |
पैरंट एलिमेंट | लागू नहीं |
चाइल्ड एलिमेंट |
<Identifier> <MessageWeight> <Rate> (ज़रूरी है)<UseEffectiveCount> |
सिंटैक्स
<SpikeArrest>
एलिमेंट में इस सिंटैक्स का इस्तेमाल किया जाता है:
<SpikeArrest continueOnError="[false|true]" enabled="[true|false]" name="policy_name" > <DisplayName>display_name</DisplayName> <Properties/> <Identifier ref="flow_variable"/> <MessageWeight ref="flow_variable"/> <Rate ref="flow_variable">rate[pm|ps]</Rate> <UseEffectiveCount>[false|true]</UseEffectiveCount> </SpikeArrest>
डिफ़ॉल्ट नीति
नीचे दिए गए उदाहरण में, डिफ़ॉल्ट सेटिंग के बारे में बताया गया है. ऐसा तब होता है, जब Edge यूज़र इंटरफ़ेस (यूआई) में फ़्लो:
<SpikeArrest async="false" continueOnError="false" enabled="true" name="Spike-Arrest-1"> <DisplayName>Spike Arrest-1</DisplayName> <Properties/> <Identifier ref="request.header.some-header-name"/> <MessageWeight ref="request.header.weight"/> <Rate>30ps</Rate> <UseEffectiveCount>true</UseEffectiveCount> </SpikeArrest>
इस एलिमेंट में ये एट्रिब्यूट शामिल होते हैं, जो सभी नीतियों में शामिल हैं:
एट्रिब्यूट | डिफ़ॉल्ट | ज़रूरी है? | ब्यौरा |
---|---|---|---|
name |
लागू नहीं | ज़रूरी |
नीति का अंदरूनी नाम. इसके अलावा, मैनेजमेंट एलिमेंट के यूज़र इंटरफ़ेस (यूआई) प्रॉक्सी एडिटर में, नीति एलिमेंट को किसी अलग नाम से इस्तेमाल करने के लिए, |
continueOnError |
गलत | ज़रूरी नहीं | नीति के काम न करने पर गड़बड़ी दिखाने के लिए, "गलत" पर सेट करें. ज़्यादातर नीतियों के लिए इस तरीके का इस्तेमाल किया जाना चाहिए. नीति लागू न होने के बाद भी फ़्लो चलाने के लिए, "सही" पर सेट करें. |
enabled |
सही | ज़रूरी नहीं | नीति लागू करने के लिए, "सही" पर सेट करें. नीति को "बंद" करने के लिए "गलत" पर सेट करें. अगर नीति किसी फ़्लो से जुड़ी हुई हो, तो भी उसे लागू नहीं किया जाएगा. |
async |
गलत | बहिष्कृत | इस एट्रिब्यूट के इस्तेमाल पर रोक लगा दी गई है. |
उदाहरण
इन उदाहरणों में बताया गया है कि किस तरह से, स्पाइक अरेस्ट नीति का इस्तेमाल किया जा सकता है:
उदाहरण 1
यहां दिए गए उदाहरण में, दर को पांच प्रति सेकंड पर सेट किया गया है:
<SpikeArrest name="Spike-Arrest-1"> <Rate>5ps</Rate> </SpikeArrest>
इस नीति के तहत, प्लान की दर को बेहतर बनाया गया है. इसके तहत, हर 200 मिलीसेकंड में एक अनुरोध किया जा सकता है (1000/5).
उदाहरण 2
यहां दिए गए उदाहरण में, दर को 12 प्रति मिनट पर सेट किया गया है:
<SpikeArrest name="Spike-Arrest-1"> <Rate>12pm</Rate> </SpikeArrest>
इस उदाहरण नीति में, हर पांच अनुरोध में एक अनुरोध की दर को बेहतर बनाया गया है सेकंड (60/12).
उदाहरण 3
यहां दिए गए उदाहरण में, अनुरोधों की संख्या को हर मिनट 12 पर सीमित किया गया है. हर पांच मिनट में एक अनुरोध की अनुमति है सेकंड या 60/12):
<SpikeArrest name="Spike-Arrest-1"> <Rate>12pm</Rate> <Identifier ref="client_id" /> <MessageWeight ref="request.header.weight" /> </SpikeArrest>
इसके अलावा, <MessageWeight>
एलिमेंट कस्टम मान को स्वीकार करता है (
weight
हेडर), जो खास ऐप्लिकेशन या क्लाइंट के लिए मैसेज के महत्व में बदलाव करता है. यह
इससे उन इकाइयों के लिए थ्रॉटलिंग पर ज़्यादा कंट्रोल मिलता है जिनकी पहचान
<Identifier>
एलिमेंट.
उदाहरण 4
इस उदाहरण में, स्पाइक अरेस्ट को निर्देश दिया गया है कि वह
वह अनुरोध जो request.header.runtime_rate
फ़्लो वैरिएबल के तौर पर पास किया जाता है:
<SpikeArrest name="Spike-Arrest-1"> <Rate ref="request.header.runtime_rate" /> </SpikeArrest>
फ़्लो वैरिएबल की वैल्यू इस फ़ॉर्मैट में होनी चाहिए: intpm
या
intps
.
इस उदाहरण को आज़माने के लिए, नीचे दिया गया तरीका अपनाएं:
curl http://myorg-myenv.apigee.net/price -H 'runtime_rate:30ps'
चाइल्ड एलिमेंट का रेफ़रंस
इस सेक्शन में, <SpikeArrest>
के चाइल्ड एलिमेंट के बारे में बताया गया है.
<DisplayName>
यहां नीति को लेबल करने के लिए, name
एट्रिब्यूट के साथ-साथ इस्तेमाल करें
मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) प्रॉक्सी एडिटर, जिसका नाम बिलकुल असली लगता है.
<DisplayName>
एलिमेंट का इस्तेमाल, सभी नीतियों के लिए किया जाता है.
डिफ़ॉल्ट वैल्यू | लागू नहीं |
ज़रूरी है? | ज़रूरी नहीं. अगर आप <DisplayName> को छोड़ देते हैं, तो
नीति की name एट्रिब्यूट का इस्तेमाल किया गया है |
स्ट्रीम किस तरह की है | स्ट्रिंग |
पैरंट एलिमेंट | <PolicyElement> |
चाइल्ड एलिमेंट | कोई नहीं |
<DisplayName>
एलिमेंट में इस सिंटैक्स का इस्तेमाल किया जाता है:
सिंटैक्स
<PolicyElement> <DisplayName>policy_display_name</DisplayName> ... </PolicyElement>
उदाहरण
<PolicyElement> <DisplayName>My Validation Policy</DisplayName> </PolicyElement>
<DisplayName>
एलिमेंट में कोई एट्रिब्यूट या चाइल्ड एलिमेंट नहीं है.
<Identifier>
इससे अनुरोधों को ग्रुप करने का तरीका चुना जा सकता है, ताकि ज़रूरत के हिसाब से स्पाइक अरेस्ट नीति लागू की जा सके क्लाइंट-साइड पर. उदाहरण के लिए, डेवलपर आईडी के हिसाब से अनुरोधों को ग्रुप में रखा जा सकता है. इस मामले में, हर डेवलपर के अनुरोधों की गिनती, उनके निजी स्पाइक अरेस्ट रेट में की जाएगी, न कि प्रॉक्सी.
ज़्यादा सटीक जानकारी के लिए, <MessageWeight>
एलिमेंट के साथ इस्तेमाल करें
रिक्वेस्ट थ्रॉटलिंग पर कंट्रोल.
<Identifier>
एलिमेंट को खाली छोड़ने पर, सभी अनुरोधों के लिए अनुरोध की एक सीमा लागू हो जाती है
उस एपीआई प्रॉक्सी में स्विच कर सकते हैं.
डिफ़ॉल्ट वैल्यू | लागू नहीं |
ज़रूरी है? | वैकल्पिक |
स्ट्रीम किस तरह की है | स्ट्रिंग |
पैरंट एलिमेंट |
<SpikeArrest>
|
चाइल्ड एलिमेंट | कोई नहीं |
सिंटैक्स
<SpikeArrest continueOnError="[false|true]" enabled="[true|false]" name="policy_name" > <Identifier ref="flow_variable"/> </SpikeArrest>
उदाहरण 1
इस उदाहरण में, हर डेवलपर आईडी के हिसाब से, स्पाइक अरेस्ट की नीति लागू की गई है:
<SpikeArrest name="Spike-Arrest-1"> <Identifier ref="developer.id"/> <Rate>42pm</Rate/> </SpikeArrest>
नीचे दिए गए टेबल में <Identifier>
के एट्रिब्यूट के बारे में बताया गया है:
एट्रिब्यूट | ब्यौरा | डिफ़ॉल्ट | मौजूदगी |
---|---|---|---|
ref |
उस वैरिएबल की पहचान करता है जिसके ज़रिए स्पाइक अरेस्ट, आने वाले अनुरोधों को ग्रुप में बांटता है. किसी यूनीक क्लाइंट की जानकारी देने के लिए, किसी भी फ़्लो वैरिएबल का इस्तेमाल किया जा सकता है. ऐसे यूनीक क्लाइंट के साथ जो VerifyAPIKey नीति. आपके पास कस्टम वैरिएबल सेट करने का विकल्प भी है. इसके लिए, JavaScript की नीति या assignMessage की नीति. | लागू नहीं | ज़रूरी है |
इस एलिमेंट के बारे में, इस Apigee कम्यूनिटी पोस्ट में भी जानकारी दी गई है: http://community.apigee.com/questions/2807/how-does-the-edge-quota-policy-work-when-no-identi.html.
<MessageWeight>
हर मैसेज के लिए तय की गई महत्व की जानकारी देता है. संदेश भार प्रभाव को संशोधित करता है की गणना के लिए एक अनुरोध किया है. मैसेज का वज़न कोई भी हो सकता है फ़्लो वैरिएबल, जैसे कि एचटीटीपी हेडर, क्वेरी पैरामीटर, फ़ॉर्म पैरामीटर या मैसेज का मुख्य कॉन्टेंट. आप JavaScript नीति या assignMessage की नीति.
अनुरोधों का आगे बढ़ने के लिए, <Identifier>
के साथ इस्तेमाल करें
खास क्लाइंट या ऐप्लिकेशन पर भेज सकते हैं.
उदाहरण के लिए, अगर स्पाइक अरेस्ट <Rate>
10pm
है और कोई ऐप्लिकेशन सबमिट करता है
2
के वेट वाले अनुरोधों के हिसाब से किया जाता है, तो हर मिनट सिर्फ़ पांच मैसेज की अनुमति है
उस क्लाइंट से बात करेंगे, क्योंकि हर अनुरोध की गिनती दो के तौर पर की जाती है.
डिफ़ॉल्ट वैल्यू | लागू नहीं |
ज़रूरी है? | वैकल्पिक |
स्ट्रीम किस तरह की है | पूर्णांक |
पैरंट एलिमेंट |
<SpikeArrest>
|
चाइल्ड एलिमेंट | कोई नहीं |
सिंटैक्स
<SpikeArrest continueOnError="[false|true]" enabled="[true|false]" name="policy_name" > <MessageWeight ref="flow_variable"/> </SpikeArrest>
उदाहरण 1
यहां दिए गए उदाहरण में, अनुरोधों की संख्या को हर मिनट 12 पर सीमित किया गया है. हर पांच मिनट में एक अनुरोध की अनुमति है सेकंड या 60/12):
<SpikeArrest name="Spike-Arrest-1"> <Rate>12pm</Rate> <Identifier ref="client_id" /> <MessageWeight ref="request.header.weight" /> </SpikeArrest>
इस उदाहरण में, <MessageWeight>
एक कस्टम वैल्यू (weight
हेडर) है, जो खास क्लाइंट के लिए मैसेज के महत्व में बदलाव करता है. यह
इससे उन इकाइयों के लिए थ्रॉटलिंग पर ज़्यादा कंट्रोल मिलता है जिनकी पहचान
<Identifier>
एलिमेंट.
नीचे दिए गए टेबल में <MessageWeight>
के एट्रिब्यूट के बारे में बताया गया है:
एट्रिब्यूट | ब्यौरा | मौजूदगी | डिफ़ॉल्ट |
---|---|---|---|
ref |
उस फ़्लो वैरिएबल की पहचान करता है जिसमें किसी क्लाइंट के मैसेज का वेट शामिल होता है. यह कोई भी फ़्लो वैरिएबल हो सकता है, जैसे का इस्तेमाल, एचटीटीपी क्वेरी पैरामीटर, हेडर या मैसेज के मुख्य हिस्से के तौर पर करता है. ज़्यादा जानकारी के लिए, यह देखें फ़्लो वैरिएबल रेफ़रंस. आपके पास कस्टम वैरिएबल सेट करने का विकल्प भी है JavaScript नीति या assignMessage नीति का इस्तेमाल करके. | ज़रूरी है | लागू नहीं |
<Rate>
ऐसे अनुरोध जिन्हें प्रति मिनट या प्रति सेकंड के अंतराल में अनुमति दी जाती है. इस एलिमेंट का इस्तेमाल इनमें भी किया जा सकता है
<Identifier>
और <MessageWeight>
के साथ जोड़कर
क्लाइंट से वैल्यू स्वीकार करके, रनटाइम के दौरान ट्रैफ़िक को आसानी से थ्रॉटल करें.
डिफ़ॉल्ट वैल्यू | लागू नहीं |
ज़रूरी है? | ज़रूरी है |
स्ट्रीम किस तरह की है | पूर्णांक |
पैरंट एलिमेंट |
<SpikeArrest>
|
चाइल्ड एलिमेंट | कोई नहीं |
सिंटैक्स
इनमें से किसी एक तरीके का इस्तेमाल करके, किराये की जानकारी दी जा सकती है:
- यह स्टैटिक दर है, जिसे
<Rate>
एलिमेंट के मुख्य हिस्से के तौर पर तय किया जाता है - वैरिएबल वैल्यू, जिसे क्लाइंट पास कर सकता है; पहचानकर
ref
एट्रिब्यूट का इस्तेमाल करके फ़्लो वैरिएबल का नाम
<SpikeArrest continueOnError="[false|true]" enabled="[true|false]" name="policy_name" > <Rate ref="flow_variable">rate[pm|ps]</Rate> </SpikeArrest>
दर की मान्य वैल्यू (जिसे वैरिएबल की वैल्यू के तौर पर या एलिमेंट में शामिल किया गया हो) ज़रूरी है नीचे दिए गए फ़ॉर्मैट के हिसाब से होना चाहिए:
intps
(हर सेकंड में मिलने वाले अनुरोधों की संख्या, जिन्हें इंटरवल में बदला गया है) मिलीसेकंड में)intpm
(हर मिनट में मिलने वाले अनुरोधों की संख्या, जिन्हें इंटरवल में बदला गया है) सेकंड में से)
int की वैल्यू एक पॉज़िटिव और शून्य के अलावा कोई संख्या होनी चाहिए.
उदाहरण 1
यहां दिए गए उदाहरण में, रेट को हर सेकंड में पांच अनुरोध पर सेट किया गया है:
<SpikeArrest name="Spike-Arrest-1"> <Rate>5ps</Rate> </SpikeArrest>
इस नीति के तहत, प्लान की दर को बेहतर बनाया गया है. इसके तहत, हर 200 मिलीसेकंड में एक अनुरोध किया जा सकता है (1000/5).
उदाहरण 2
यहां दिया गया उदाहरण, रेट को हर मिनट 12 अनुरोध पर सेट करता है:
<SpikeArrest name="Spike-Arrest-1"> <Rate>12pm</Rate> </SpikeArrest>
इस उदाहरण नीति में, हर पांच अनुरोध में एक अनुरोध की दर को बेहतर बनाया गया है सेकंड (60/12).
नीचे दिए गए टेबल में <Rate>
के एट्रिब्यूट के बारे में बताया गया है:
एट्रिब्यूट | ब्यौरा | मौजूदगी | डिफ़ॉल्ट |
---|---|---|---|
ref |
उस फ़्लो वैरिएबल की पहचान करता है जिससे रेट तय होता है. इसमें कोई भी फ़्लो हो सकता है
वैरिएबल, जैसे कि कोई एचटीटीपी क्वेरी पैरामीटर, हेडर या मैसेज का मुख्य हिस्सा या कोई वैल्यू
जैसे कि केवीएम. ज़्यादा जानकारी के लिए, फ़्लो वैरिएबल रेफ़रंस देखें.
आप कस्टम वैरिएबल का भी इस्तेमाल कर सकते हैं JavaScript नीति या assignMessage नीति का इस्तेमाल करके. अगर आपने उदाहरण के लिए: <Rate ref="request.header.custom_rate">1pm</Rate> इस उदाहरण में, अगर क्लाइंट "custom_rate" पास नहीं करता हेडर है, फिर सभी क्लाइंट के लिए, एपीआई प्रॉक्सी की दर, हर मिनट एक अनुरोध के हिसाब से होती है. अगर क्लाइंट "custom_rate" हेडर है, तो सभी क्लाइंट के लिए दर की सीमा 10 अनुरोध प्रति सेकंड हो जाती है प्रॉक्सी - जब तक कि "custom_rate" के बिना अनुरोध न किया जाए हेडर भेजा गया. ग्रुप के अनुरोधों को ग्रुप में रखने के लिए, अगर आपने |
वैकल्पिक | लागू नहीं |
<UseEffectiveCount>
ऑटो स्केलिंग का इस्तेमाल करने पर, स्पाइक अरेस्ट की संख्या को मैसेज प्रोसेसर (एमपी) में बांट दिया जाता है ग्रुप.
सिंटैक्स
<SpikeArrest continueOnError="[false|true]" enabled="[true|false]" name="policy_name" > <UseEffectiveCount>[false|true]</UseEffectiveCount> </SpikeArrest>
उदाहरण 1
यहां दिए गए उदाहरण में, <UseEffectiveCount>
को 'सही' पर सेट किया गया है:
<SpikeArrest name='Spike-Arrest-1'> <Rate>40ps</Rate> <UseEffectiveCount>true</UseEffectiveCount> </SpikeArrest>
<UseEffectiveCount>
एलिमेंट ज़रूरी नहीं है. डिफ़ॉल्ट वैल्यू false
है
जब एलिमेंट को स्पाइक अरेस्ट से जुड़ी नीति से हटा दिया जाता है.
डिफ़ॉल्ट वैल्यू | गलत |
ज़रूरी है? | वैकल्पिक |
स्ट्रीम किस तरह की है | बूलियन |
पैरंट एलिमेंट |
<SpikeArrest>
|
चाइल्ड एलिमेंट | कोई नहीं |
नीचे दिए गए टेबल में <UseEffectiveCount>
एलिमेंट के एट्रिब्यूट के बारे में बताया गया है:
एट्रिब्यूट | ब्यौरा | डिफ़ॉल्ट | मौजूदगी |
---|---|---|---|
ref |
उस वैरिएबल की पहचान करता है जिसमें <UseEffectiveCount> की वैल्यू होती है. यह काम किया जा सकता है
किसी भी फ़्लो वैरिएबल, जैसे कि एचटीटीपी क्वेरी पैरामीटर, हेडर या मैसेज के मुख्य हिस्से का इस्तेमाल किया जा सकता है. ज़्यादा के लिए
फ़्लो वैरिएबल का रेफ़रंस पढ़ें. आपके पास कस्टम वैरिएबल सेट करने का विकल्प भी है
JavaScript नीति या assignMessage नीति का इस्तेमाल करके. |
लागू नहीं | वैकल्पिक |
<UseEffectiveCount>
का असर, इसकी वैल्यू पर निर्भर करता है:
true
: एक एमपी की स्पाइक रेट की सीमा<Rate>
को उसी पॉड में मौजूद एमपी की मौजूदा संख्या से भाग देने पर मिलने वाली संख्या. कुल सीमा का मतलब<Rate>
पेज चुने जा सकते हैं. जब सांसदों को डाइनैमिक तौर पर जोड़ा या हटाया जाता है, तो उनकी संख्या में बढ़ोतरी होती है रेट की सीमाएं बढ़ (या घटेगी) होंगी, लेकिन कुल सीमा पहले जैसी ही रहेगी.false
(अगर इसे छोड़ दिया जाता है, तो यह डिफ़ॉल्ट वैल्यू होती है): हर एमपी की स्पाइक रेट की सीमा है बस इसके<Rate>
की वैल्यू सबमिट करें. कुल सीमा, सभी सांसदों के रेट का कुल योग होता है. सदस्यों को जोड़ने (या हटाए जाने) पर, बढ़ोतरी की दर की सीमाएं पहले जैसी ही रहेंगी. हालांकि, एग्रीगेट सीमा बढ़ जाएगी (या घटता है).
नीचे दी गई टेबल में, कन्वर्ज़न रेट की सीमा पर <UseEffectiveCount>
का असर दिखाया गया है
हर एमपी में:
<UseEffectiveCount> की वैल्यू |
||||||
---|---|---|---|---|---|---|
false |
false |
false |
true |
true |
true |
|
सांसद की # | 8 | 4 | 2 | 8 | 4 | 2 |
<Rate> की वैल्यू |
10 | 10 | 10 | 40 | 40 | 40 |
हर एमपी पर लागू होने वाली दर | 10 | 10 | 10 | 5 | 10 | 20 |
कुल सीमा | 80 | 40 | 20 | 40* | 40* | 40* |
* <Rate> के बराबर है. |
इस उदाहरण में ध्यान दें कि जब सांसद की संख्या 4 से 2 हो जाती है, और
<UseEffectiveCount>
false
है. हर एमपी में लागू होने वाली दर में कोई बदलाव नहीं होगा (इससे
10). हालांकि, <UseEffectiveCount>
के true
होने पर, हर एमपी से लागू होने वाली दर इस तरीके से होती है:
10 से 20 तब, जब एमपी की संख्या 4 से 2 हो जाए.
फ़्लो वैरिएबल
स्पाइक अरेस्ट नीति के लागू होने पर, यह फ़्लो वैरिएबल अपने-आप भर जाता है:
वैरिएबल | टाइप | अनुमति | ब्यौरा |
---|---|---|---|
ratelimit.policy_name.failed |
बूलियन | रीड-ओनली | इससे पता चलता है कि नीति लागू नहीं हुई या नहीं (true या
false ). |
ज़्यादा जानकारी के लिए, फ़्लो वैरिएबल रेफ़रंस देखें.
गड़बड़ी का रेफ़रंस
इस सेक्शन में, गड़बड़ी के कोड और गड़बड़ी के मैसेज के साथ-साथ गड़बड़ी के वैरिएबल के बारे में बताया गया है ये सेटिंग, Edge की मदद से सेट की जाती हैं. ऐसा तब होता है, जब इस नीति की वजह से कोई गड़बड़ी होती है. यह जानकारी जानना ज़रूरी है कि क्या आप गड़बड़ियों को ठीक करता है. इस बारे में ज़्यादा जानने के लिए, यह देखें आपके लिए काम की जानकारी नीति से जुड़ी गड़बड़ियों और हैंडलिंग के बारे में जानकारी गलतियां.
रनटाइम की गड़बड़ियां
नीति के लागू होने पर ये गड़बड़ियां हो सकती हैं.
गड़बड़ी कोड | एचटीटीपी कोड स्थिति | वजह | ठीक करें |
---|---|---|---|
policies.ratelimit.FailedToResolveSpikeArrestRate |
500 |
यह गड़बड़ी तब होती है, जब रेट सेटिंग वाले वैरिएबल का रेफ़रंस होता है
<Rate> एलिमेंट के अंदर, Spike Arrest में मौजूद वैल्यू नहीं हटाई जा सकती
की नीति देखें. यह एलिमेंट ज़रूरी है. इसका इस्तेमाल, गिरफ़्तारी की दर के बारे में बताने के लिए किया जाता है
intpm या intps का फ़ॉर्मैट. |
build |
policies.ratelimit.InvalidMessageWeight |
500 |
यह गड़बड़ी तब होती है, जब <MessageWeight> एलिमेंट के लिए वैल्यू इसके ज़रिए तय की जाती है
फ़्लो वैरिएबल अमान्य है (गैर-पूर्णांक मान). |
build |
policies.ratelimit.SpikeArrestViolation |
429 |
दर सीमा पार हो गई थी. |
डिप्लॉयमेंट से जुड़ी गड़बड़ियां
ये गड़बड़ियां तब हो सकती हैं, जब इस नीति वाली प्रॉक्सी को डिप्लॉय किया जाता है.
गड़बड़ी का नाम | वजह | ठीक करें |
---|---|---|
InvalidAllowedRate |
अगर स्पाइक अरेस्ट के <Rate> एलिमेंट में, गिरफ़्तारी की ज़्यादा दर बताई गई है, तो
नीति कोई पूर्णांक नहीं है या अगर दर में सफ़िक्स के तौर पर ps या pm नहीं है, तो
तब एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता. |
build |
गड़बड़ी के वैरिएबल
रनटाइम की गड़बड़ी होने पर ये वैरिएबल सेट किए जाते हैं. ज़्यादा जानकारी के लिए, आपके लिए ज़रूरी जानकारी देखें नीति से जुड़ी गड़बड़ियों के बारे में जानकारी.
वैरिएबल | कहां | उदाहरण |
---|---|---|
fault.name="fault_name" |
fault_name गड़बड़ी का नाम है, जैसा कि रनटाइम की गड़बड़ियों की टेबल ऊपर दी गई है. गड़बड़ी का नाम आखिरी हिस्सा है . | fault.name Matches "SpikeArrestViolation" |
ratelimit.policy_name.failed |
policy_name, उपयोगकर्ता की ओर से बताया गया उस नीति का नाम है जिसमें गड़बड़ी हुई है. | ratelimit.SA-SpikeArrestPolicy.failed = true |
गड़बड़ी के रिस्पॉन्स का उदाहरण
यहां गड़बड़ी के रिस्पॉन्स का उदाहरण दिया गया है:
{ "fault":{ "detail":{ "errorcode":"policies.ratelimit.SpikeArrestViolation" }, "faultstring":"Spike arrest violation. Allowed rate : 10ps" } }
गड़बड़ी के नियम का उदाहरण
SpikeArrestViolation
गड़बड़ी को ठीक करने के लिए, यहां उदाहरण के तौर पर गड़बड़ी का नियम दिया गया है:
<FaultRules> <FaultRule name="Spike Arrest Errors"> <Step> <Name>JavaScript-1</Name> <Condition>(fault.name Matches "SpikeArrestViolation") </Condition> </Step> <Condition>ratelimit.Spike-Arrest-1.failed=true</Condition> </FaultRule> </FaultRules>
कोटा या स्पाइक अरेस्ट नीति की ओर से सेट की गई दर सीमा को पार करने के लिए मौजूदा एचटीटीपी स्टेटस कोड
429
है (बहुत ज़्यादा अनुरोध). एचटीटीपी स्टेटस कोड को 500
में बदलने के लिए
(आंतरिक सर्वर गड़बड़ी),
इसका इस्तेमाल करके false
को features.isHTTPStatusTooManyRequestEnabled
प्रॉपर्टी
संगठन की प्रॉपर्टी अपडेट करें एपीआई.
उदाहरण के लिए:
curl -u email:password -X POST -H "Content-type:application/xml" http://api.enterprise.apigee.com/v1/organizations/myorg -d \ "<Organization type="trial" name="MyOrganization"> <Properties> <Property name="features.isHTTPStatusTooManyRequestEnabled">true</Property> . . . </Properties> </Organization>"
स्कीमा
हर तरह की नीति को एक्सएमएल स्कीमा (.xsd
) से तय किया जाता है. रेफ़रंस के लिए, नीति के स्कीमा
GitHub पर उपलब्ध हैं.
मिलते-जुलते विषय
- कोटा नीति: कोटा नीति, ताकि अलग-अलग क्लाइंट पर ट्रैफ़िक सीमित किया जा सके
- अनुरोध संख्या सीमित करने के लिए अनुरोध संख्या सीमित करना खास जानकारी
- तुलना करना कोटा और SpikeAreest की नीतियां
- एपीआई प्रॉक्सी के काम करने के सैंपल