नीति से जुड़ी गड़बड़ियों के बारे में आपके लिए ज़रूरी जानकारी

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

इस विषय में, नीति से जुड़ी गड़बड़ियों के स्ट्रक्चर और फ़्लो वैरिएबल के टाइप के बारे में बताया गया है नीति की गड़बड़ी होने पर सेट करें. यह जानकारी तब ज़रूरी होती है, जब आपको अपनी प्रॉक्सी को ठीक करने की प्रक्रिया लागू करनी है.

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

नीति से जुड़ी डिफ़ॉल्ट गड़बड़ी के बारे में जानकारी

जब किसी नीति की वजह से कोई गड़बड़ी होती है, एज तुरंत गड़बड़ी की जानकारी दिखाता है और गड़बड़ी जनरेट करता है. दिखाई देगा. सिस्टम से जनरेट किया गया यह मैसेज, एक JSON ऑब्जेक्ट है. इसमें दो तरह की जानकारी शामिल होती है: एक errorcode और faultstring.

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

{  
   "fault":{  
      "detail":{  
         "errorcode":"steps.extractvariables.SourceMessageNotAvailable"
      },
      "faultstring":"foo message is not available for ExtractVariable: ParseJsonResponse"
   }
}

चलिए, इस गड़बड़ी के मैसेज को तुरंत डिकोड करते हैं:

errorcode में प्रीफ़िक्स और गड़बड़ी शामिल है name, इस प्रकार है: [prefix].[error_name]. ऊपर दिए गए उदाहरण में "steps.extractvariables" उपसर्ग है और SourceMessageNotAvailable गड़बड़ी का नाम. प्रीफ़िक्स से आपको पता चलता है कि किस तरह की नीति के ज़रिए गड़बड़ी हुई है. ऊपर दिए गए विकल्पों में उदाहरण के लिए, यह बताया जा सकता है कि वैरिएबल एक्सट्रैक्ट करने की नीति से गड़बड़ी जनरेट हुई है और गड़बड़ी का नाम SourceMessageNotAvailable.

faultstring में, गड़बड़ी की जानकारी होती है. गड़बड़ी वाली स्ट्रिंग आम तौर पर, ऐसे संकेत शामिल होते हैं जिनकी वजह से गड़बड़ी होती है. उदाहरण के लिए, नीति का नाम, ऐसे वैरिएबल का नाम जिसे हल नहीं किया गया हो या जिस वजह से गड़बड़ी हुई थी. इसके लिए उदाहरण के लिए, ऊपर दिए गए गड़बड़ी के मैसेज में, "foo" उसका नाम होता है जिसे सुलझाया नहीं गया है नीति और "ParseJsonResponse" में बताया गया मैसेज वैरिएबल CANNOT TRANSLATE गड़बड़ी को ट्रिगर करने वाली नीति.

नीति से जुड़ी गड़बड़ियों के लिए खास वैरिएबल

जब नीति की कोई गड़बड़ी ट्रिगर होती है, तो गड़बड़ी से जुड़े कुछ फ़्लो वैरिएबल भर जाते हैं. ये गड़बड़ी को ठीक करने में वैरिएबल बहुत ज़्यादा काम के होते हैं. जैसा कि गड़बड़ियां ठीक करना विषय में बताया गया है, यह एक आम तरीका है सिस्टम से जनरेट की गई नीति की गड़बड़ियों को फंसाकर बाद की कार्रवाई की जाती है. उदाहरण के लिए, कस्टम गड़बड़ी वाला रिस्पॉन्स. उदाहरण के लिए, सुरक्षा कारणों से, हो सकता है कि आप अपने क्लाइंट को देखें कि Edge से कौन-कौनसी गड़बड़ियां और स्टेटस कोड आ रहे हैं.

fault.name वैरिएबल

जब कोई नीति कोई गड़बड़ी दिखाती है, तो वह फ़्लो वैरिएबल fault.name को गड़बड़ी का कोड error_name का हिस्सा है (जैसा कि पिछले सेक्शन में बताया गया है). यह बहुत इस वैरिएबल का आकलन करने के लिए आम तौर पर, गड़बड़ी के नियम लागू करने होते हैं.

यहां गड़बड़ी के नियम का एक उदाहरण दिया गया है, जो fault.name की वैल्यू की जांच करता है:

<faultrule name="VariableOfNonMsgType"<>/faultrule><FaultRule name="Source Message Not Available Fault">
    <Step>
        <Name>AM-CustomErrorMessage</Name>
        <Condition>(fault.name Matches "SourceMessageNotAvailable") </Condition>
    </Step>
</FaultRule>

ध्यान रखें कि जब कोई नीति किसी गड़बड़ी को ट्रिगर करती है, तो fault.name वैरिएबल को हमेशा गड़बड़ी के नाम पर सेट किया जाता है.

यह [prefix].[policy_name].failed वैरिएबल

fault.name के अलावा, एक और वैरिएबल जिसे डेवलपर आम तौर पर जांचते हैं [prefix].[policy_name].failed फ़्लैग का इस्तेमाल करता है, जो सही या गलत पर सेट होता है, जब नीति लागू होती है. गड़बड़ी वाले नियमों में, आपको यह देखना होगा कि यह सही है या नहीं -- इसका मतलब है कि यह देखा जा सकता है कि कोई गड़बड़ी हुई है या नहीं. यहां एक ऐसी शर्त बनाने का तरीका बताया गया है जो [prefix].[policy_name].failed फ़्लैग. इस वैरिएबल की सही तरीके से जांच करने के लिए, आपको दो बातें जानें:

  • उस नीति का नाम जिसकी जांच की जा रही है. यह नीति के नाम एट्रिब्यूट है, डिसप्ले नाम नहीं. इस एट्रिब्यूट को हमेशा नीति में शामिल किया जाता है की एक्सएमएल शामिल हो सकती है.
  • यह एक प्रीफ़िक्स है, जो खास तौर पर उस तरह की नीति के मुताबिक होता है जिसकी जांच की जा रही है. (हम नीचे दिया गया प्रीफ़िक्स खोजने का तरीका बताएं.)

इसे समझाने के लिए, यहां गड़बड़ी के नियम का एक और उदाहरण दिया गया है. बाहरी स्थिति में ध्यान दें कि कैसे [prefix].[policy_name].failed वैरिएबल का नाम बनाया गया. इस मामले में उपसर्ग यह है extractvariables और नीति का नाम ParseJsonResponse है. इसमें केस में, गड़बड़ी का नियम तभी लागू होगा, जब यह वैरिएबल सही हो. और, यहां एक सलाह दी गई है: गलती से नियमों में कई चरण हो सकते हैं, यह पैटर्न गड़बड़ी के नियमों को व्यवस्थित करने का एक अच्छा तरीका है. ब्लॉक.

<faultrule name="VariableOfNonMsgType"></faultrule><FaultRule name="Extract Variable Faults">
    <Step>
        <Name>AM-CustomErrorMessage</Name>
        <Condition>(fault.name Matches "SourceMessageNotAvailable") </Condition>
    </Step>
    <Condition>(extractvariables.ParseJsonResponse.failed = true) </Condition>
</FaultRule>

इसके बारे में error और message वैरिएबल

error वैरिएबल सिर्फ़ इस गड़बड़ी के फ़्लो में उपलब्ध होता है प्रॉक्सी. गड़बड़ी वाले वैरिएबल से आपको काम की जानकारी मिल सकती है. जैसे, गड़बड़ी का मैसेज, स्थिति कोड, वजह वाक्यांश वगैरह. गड़बड़ी वाले वैरिएबल के लिए फ़ॉर्मैटिंग पैटर्न यह है:

error.[error_component] = [value]

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

error.message = "request message is not available for ExtractVariable: ParseJsonResponse"

और

अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है error.status.code = "500"

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

वैरिएबल का रेफ़रंस देखें सभी Edge वैरिएबल की जानकारी के लिए, जिनमें error और message.