Apigee Edge का दस्तावेज़ देखा जा रहा है.
Apigee X के दस्तावेज़ पर जाएं. जानकारी
किसी एक्सटेंशन को डीबग करने के लिए, दो जगहों पर दिखने वाले मैसेज का इस्तेमाल किया जा सकता है: ट्रेस टूल और एक्सटेंशन लॉग. अगर कोई एक्सटेंशन काम नहीं कर रहा है, तो समस्या की पहचान करने के लिए, कभी-कभी दोनों जगहों की जानकारी की ज़रूरत पड़ सकती है.
Apigee Edge के ट्रैस टूल की मदद से, एपीआई प्रॉक्सी कोड को डेवलप करने के दौरान, बार-बार उसकी जांच की जा सकती है और उसमें बदलाव किया जा सकता है. ट्रेस मैसेज में, आपके एपीआई प्रॉक्सी कोड से जुड़ी गड़बड़ियां शामिल होती हैं. इनमें एपीआई प्रॉक्सी और नीति कॉन्फ़िगरेशन भी शामिल हैं.
ट्रैक टूल में दिखने वाली एक्सटेंशन से जुड़ी गड़बड़ियों में, आम तौर पर ज़्यादा जानकारी नहीं होती. हालांकि, इसमें एचटीटीपी गड़बड़ी कोड के साथ यह जानकारी होती है कि कौनसा एक्सटेंशन कॉलआउट काम नहीं कर रहा है. अगर आपको यहां कोई काम की जानकारी नहीं दिखती है, तो उस एक्सटेंशन का लॉग देखें जिसका इस्तेमाल किया जा रहा है.
एक्सटेंशन, रनटाइम के दौरान लॉग एंट्री जनरेट करते हैं. (एक्सटेंशन लॉग, सिर्फ़ संगठन के एडमिन के लिए उपलब्ध हैं.)
इन लॉग में, उस बाहरी संसाधन से मिली एंट्री शामिल होती हैं जिसके साथ इंटरैक्ट करने के लिए एक्सटेंशन को कॉन्फ़िगर किया गया है. उदाहरण के लिए, अगर एक्सटेंशन में बाहरी रिसॉर्स के क्रेडेंशियल गलत तरीके से कॉन्फ़िगर किए गए हैं, तो गड़बड़ी का मैसेज यहां दिख सकता है.
लॉग में, इंटरनल एक्सटेंशन कोड की एंट्री भी शामिल होती हैं. लॉग देखते समय, ध्यान रखें कि कुछ एंट्री उस गड़बड़ी से जुड़ी नहीं होतीं जिसे ठीक किया जा रहा है. एक्सटेंशन से जुड़ी लॉग एंट्री, आम तौर पर
details
शब्द से शुरू होती हैं. जैसे, Cloud Pub/Sub एक्सटेंशन की इस लॉग एंट्री में:details: 'Invalid resource name given (name=projects/example-test-123456/topic/extension-example). Refer to https://cloud.google.com/pubsub/docs/admin#resource_names for more information.'
गड़बड़ी के टाइप और वजहें
एक्सटेंशन के अनुरोध को प्रोसेस करने की प्रोसेस, एपीआई प्रॉक्सी में मौजूद ExtensionCallout नीति से शुरू होती है. इसके बाद, यह प्रोसेस एक्सटेंशन से बाहरी संसाधन तक जाती है और फिर वापस आती है. इसलिए, इनमें से किसी भी जगह पर गड़बड़ी हो सकती है.
आपको दिखने वाली गड़बड़ियां इन कैटगरी में आ सकती हैं.
एक्सटेंशन कॉन्फ़िगरेशन में गड़बड़ियां
यह वह कॉन्फ़िगरेशन है जिसे संगठन का एडमिन किसी एनवायरमेंट में एक्सटेंशन जोड़ते समय करता है.
उदाहरण के लिए, अगर आपने Cloud Logging एक्सटेंशन को गलत Google Cloud प्रोजेक्ट आईडी के साथ कॉन्फ़िगर किया है, तो Google Cloud Logging, एक्सटेंशन को गड़बड़ी का मैसेज दिखाएगा. आम तौर पर, इन गड़बड़ियों की जानकारी एक्सटेंशन लॉग में होती है.
ट्रैक टूल में सबूत
प्रॉक्सी एडिटर में, ये गड़बड़ियां आम तौर पर 4xx
- या
5xx
-लेवल की गड़बड़ी के तौर पर दिखेंगी. हालांकि, प्रॉक्सी एडिटर, गड़बड़ी की वजह के बारे में कोई जानकारी नहीं दिखाएगा. वह सिर्फ़ यह बताएगा कि एक्सटेंशन में गड़बड़ी हुई है.
{
"fault": {
"faultstring":"Execution of ConnectorCallout Logging-Extension failed. Reason: Connector returned error statuscode=500",
"detail": {
"errorcode":"steps.connectorcallout.ExecutionFailed"
}
}
}
एक्सटेंशन लॉग में मौजूद सबूत
अगर इस तरह की गड़बड़ी के बारे में जानकारी है, तो आपको यह एक्सटेंशन के लॉग एंट्री में दिखेगी. Cloud Pub/Sub सेवा से मिला गड़बड़ी का यह मैसेज, गलत प्रोजेक्ट आईडी की वजह से दिखता है.
details: 'Project does not exist: example-test-12345'
ExtensionCallout नीति के कॉन्फ़िगरेशन में गड़बड़ियां
ये गड़बड़ियां तब होती हैं, जब ExtensionCallout नीति को गलत तरीके से कॉन्फ़िगर किया गया हो. ऐसा, नीति के कॉन्फ़िगरेशन सिंटैक्स की गड़बड़ी या गलत कॉन्फ़िगरेशन कुंजियों या वैल्यू की वजह से होता है. नीति को कॉन्फ़िगर करने के तरीके के आधार पर, ये गड़बड़ियां दो तरह की होती हैं:
बाहरी संसाधन से मिली गलत वैल्यू
ऐसा तब हो सकता है, जब कॉन्फ़िगरेशन की गड़बड़ी, एक्सटेंशन के लिए मान्य दिखे, लेकिन बाहरी रिसॉर्स के लिए अमान्य हो. उदाहरण के लिए, अगर एक्सटेंशन Cloud Spanner को गलत डेटाबेस आईडी पास करता है, तो Cloud Spanner एक गड़बड़ी दिखाएगा. यह गड़बड़ी, एक्सटेंशन लॉग में लॉग की जाएगी:
details: 'Database not found: projects/example-test-123456/instances/spanner-extension-example-db/databases/my-business-d'
ऐसा नीति के
<Input>
एलिमेंट में गलत कॉन्फ़िगरेशन JSON की वजह से भी हो सकता है. कुछ एक्सटेंशन के लिए, JSON का एक हिस्सा एक्सटेंशन प्रोसेस करता है और एक हिस्सा संसाधन को भेजा जाता है. उदाहरण के लिए, Cloud Logging एक्सटेंशन कॉन्फ़िगरेशन JSON में एकmetadata
ऑब्जेक्ट शामिल होता है, जिसका कॉन्टेंट Cloud Logging को पास किया जाता है. अगर कुंजियों के नाम गलत हैं, जैसे किtype
के बजायtyp
, तो बाहरी संसाधन से गड़बड़ियां मिल सकती हैं. ये गड़बड़ियां, एक्सटेंशन लॉग में एंट्री के तौर पर दिखती हैं:details: 'Resource type cannot be empty'
एक्सटेंशन की मदद से गलत वैल्यू का आकलन किया गया
इन गड़बड़ियों में,
<Input>
एलिमेंट के JSON के उन हिस्सों में सिंटैक्स से जुड़ी गड़बड़ियां शामिल हैं जिनका आकलन नीति के हिसाब से किया जाता है. साथ ही,<Action>
एलिमेंट में कार्रवाई के नाम को गलत लिखना वगैरह भी इन गड़बड़ियों में शामिल है. आम तौर पर, ये गड़बड़ियां ट्रैक टूल में दिखेंगी, लेकिन एक्सटेंशन लॉग में नहीं.
ट्रैक टूल में सबूत
प्रॉक्सी एडिटर में, ये गड़बड़ियां आम तौर पर 4xx
- या
5xx
-लेवल की गड़बड़ी के तौर पर दिखेंगी. हालांकि, प्रॉक्सी एडिटर, गड़बड़ी की वजह के बारे में कोई जानकारी नहीं दिखाएगा. वह सिर्फ़ यह बताएगा कि एक्सटेंशन में गड़बड़ी हुई है. Cloud Firestore एक्सटेंशन में कार्रवाई के नाम को गलत लिखने पर, ट्रेस टूल में यह गड़बड़ी दिखती है.
{
"fault":{
"faultstring":"Execution of ConnectorCallout Add-User-Data failed. Reason: Connector returned error statuscode=404","detail":
{
"errorcode":"steps.connectorcallout.ExecutionFailed"
}
}
}
एक्सटेंशन लॉग में मौजूद सबूत
जब नीति कॉन्फ़िगरेशन की वजह से, बाहरी रिसॉर्स में प्रोसेस करने से जुड़ी गड़बड़ी होती है, तो आम तौर पर गड़बड़ी लॉग में दिखती है.
एक्सटेंशन के संसाधन के अनुरोध से जुड़ी गड़बड़ियां
यह एक गड़बड़ी है, जिसमें एक्सटेंशन से जुड़ी वजहों से बाहरी संसाधन का अनुरोध पूरा नहीं हो पाया.
उदाहरण के लिए, मान लें कि डेटाबेस में कोई लाइन जोड़ने के लिए, Cloud Spanner एक्सटेंशन का इस्तेमाल किया जा रहा है. हालांकि, लाइन की प्राइमरी की वैल्यू का इस्तेमाल किसी मौजूदा लाइन में पहले से ही किया जा चुका है. Cloud Spanner, एक्सटेंशन को गड़बड़ी का मैसेज भेजेगा. यह मैसेज, एक्सटेंशन लॉग में जुड़ जाएगा.
ट्रैक टूल में सबूत
प्रॉक्सी एडिटर में, ये गड़बड़ियां आम तौर पर 4xx
-
या 5xx
-लेवल की गड़बड़ी के तौर पर दिखेंगी. हालांकि, प्रॉक्सी एडिटर, गड़बड़ी की वजह के बारे में कोई जानकारी नहीं दिखाएगा. वह सिर्फ़ यह बताएगा कि एक्सटेंशन में गड़बड़ी हुई है.
{
"fault":{
"faultstring":"Execution of ConnectorCallout Add-User-Data failed. Reason: Connector returned error statuscode=404",
"detail":{
"errorcode":"steps.connectorcallout.ExecutionFailed"
}
}
}
एक्सटेंशन लॉग में मौजूद सबूत
आम तौर पर, लॉग में बाहरी रिसॉर्स के मैसेज शामिल होते हैं. Cloud Spanner के इस लॉग मैसेज में, मौजूदा प्राइमरी की वैल्यू से जुड़ी गड़बड़ी के बारे में बताया गया है.
details: 'Row [jonesy42] in table user already exists'