SpikeArest की नीति

आपको Apigee Edge दस्तावेज़ दिख रहा है.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है इस पेज पर जाएं Apigee X दस्तावेज़.
जानकारी

Edge के यूज़र इंटरफ़ेस (यूआई) से, स्पाइक अरेस्ट आइकॉन

स्पाइक अरेस्ट नीति, <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 लागू नहीं ज़रूरी

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

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

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 एट्रिब्यूट का इस्तेमाल किया गया है
स्ट्रीम किस तरह की है स्ट्रिंग
पैरंट एलिमेंट &lt;PolicyElement&gt;
चाइल्ड एलिमेंट कोई नहीं

<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 नीति का इस्तेमाल करके.

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

उदाहरण के लिए:

<Rate ref="request.header.custom_rate">1pm</Rate>

इस उदाहरण में, अगर क्लाइंट "custom_rate" पास नहीं करता हेडर है, फिर सभी क्लाइंट के लिए, एपीआई प्रॉक्सी की दर, हर मिनट एक अनुरोध के हिसाब से होती है. अगर क्लाइंट "custom_rate" हेडर है, तो सभी क्लाइंट के लिए दर की सीमा 10 अनुरोध प्रति सेकंड हो जाती है प्रॉक्सी - जब तक कि "custom_rate" के बिना अनुरोध न किया जाए हेडर भेजा गया.

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

अगर आपने ref के लिए कोई वैल्यू तय की है, लेकिन दर सेट नहीं की है, तो <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 का फ़ॉर्मैट.
policies.ratelimit.InvalidMessageWeight 500 यह गड़बड़ी तब होती है, जब <MessageWeight> एलिमेंट के लिए वैल्यू इसके ज़रिए तय की जाती है फ़्लो वैरिएबल अमान्य है (गैर-पूर्णांक मान).
policies.ratelimit.SpikeArrestViolation 429

दर सीमा पार हो गई थी.

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

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

गड़बड़ी का नाम वजह ठीक करें
InvalidAllowedRate अगर स्पाइक अरेस्ट के <Rate> एलिमेंट में, गिरफ़्तारी की ज़्यादा दर बताई गई है, तो नीति कोई पूर्णांक नहीं है या अगर दर में सफ़िक्स के तौर पर ps या pm नहीं है, तो तब एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता.

गड़बड़ी के वैरिएबल

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

वैरिएबल कहां उदाहरण
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 पर उपलब्ध हैं.

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