यहां Apigee Edge से जुड़े दस्तावेज़ देखे जा रहे हैं.
Apigee X से जुड़े दस्तावेज़ पर जाएं. info
एक्सटेंशन को डीबग करने के लिए, दो जगहों पर दिखने वाले मैसेज का इस्तेमाल किया जा सकता है: Trace टूल और एक्सटेंशन के लॉग. जब कोई एक्सटेंशन काम नहीं करता, तो समस्या की पहचान करने के लिए, कभी-कभी दोनों जगहों से मिली जानकारी की ज़रूरत पड़ सकती है.
Apigee Edge का Trace टूल, एपीआई प्रॉक्सी कोड को डेवलप करते समय, उसे बार-बार टेस्ट और एडिट करने की सुविधा देता है. Trace मैसेज में, एपीआई प्रॉक्सी कोड से जुड़ी गड़बड़ियां शामिल होती हैं. इनमें एपीआई प्रॉक्सी और नीति का कॉन्फ़िगरेशन भी शामिल होता है.
Trace टूल में दिखने वाली, एक्सटेंशन से जुड़ी गड़बड़ियों में आम तौर पर ज़्यादा जानकारी नहीं होती. इनमें सिर्फ़ यह बताया जाता है कि कौनसी एक्सटेंशन कॉलआउट नीति काम नहीं कर पाई. साथ ही, इनमें एचटीटीपी गड़बड़ी का कोड भी शामिल होता है. अगर आपको यहां कोई काम की जानकारी नहीं मिलती है, तो एक्सटेंशन का लॉग देखना सबसे अच्छा विकल्प है.
एक्सटेंशन, रनटाइम पर लॉग एंट्री जनरेट करते हैं. (एक्सटेंशन के लॉग, सिर्फ़ संगठन के एडमिन के लिए उपलब्ध होते हैं.)
इन लॉग में, उन एंट्री की जानकारी शामिल होती है जो एक्सटेंशन से इंटरैक्ट करने के लिए कॉन्फ़िगर किए गए बाहरी संसाधन से मिलती हैं. उदाहरण के लिए, अगर एक्सटेंशन में बाहरी संसाधन के क्रेडेंशियल गलत तरीके से कॉन्फ़िगर किए गए हैं, तो गड़बड़ी दिखने की संभावना होती है.
लॉग में, एक्सटेंशन के अंदरूनी कोड से मिली एंट्री भी शामिल होती हैं. लॉग देखते समय, इस बात का ध्यान रखें कि कुछ एंट्री, ठीक की जा रही गड़बड़ी से जुड़ी नहीं होती हैं. एक्सटेंशन से जुड़ी लॉग एंट्री आम तौर पर
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, एक्सटेंशन को एक गड़बड़ी दिखाएगा. आम तौर पर, इन गड़बड़ियों के बारे में जानकारी, एक्सटेंशन के लॉग में होती है.
Trace टूल में सबूत
प्रॉक्सी एडिटर में, ये गड़बड़ियां आम तौर पर 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>एलिमेंट में कार्रवाई के नाम की स्पेलिंग गलत होना वगैरह शामिल हैं. ये गड़बड़ियां आम तौर पर Trace टूल में दिखेंगी, लेकिन एक्सटेंशन के लॉग में नहीं.
Trace टूल में सबूत
प्रॉक्सी एडिटर में, ये गड़बड़ियां आम तौर पर 4xx- या
5xx-लेवल की गड़बड़ी के तौर पर दिखेंगी. हालांकि, प्रॉक्सी एडिटर, गड़बड़ी की वजह के बारे में कोई खास जानकारी नहीं दिखाएगा. इसमें सिर्फ़ यह बताया जाएगा कि एक्सटेंशन में कोई गड़बड़ी हुई है. Cloud Firestore एक्सटेंशन में कार्रवाई के नाम की स्पेलिंग गलत होने पर, Trace टूल में यह गड़बड़ी दिखती है.
{
"fault":{
"faultstring":"Execution of ConnectorCallout Add-User-Data failed. Reason: Connector returned error statuscode=404","detail":
{
"errorcode":"steps.connectorcallout.ExecutionFailed"
}
}
}
एक्सटेंशन के लॉग में सबूत
जब नीति के कॉन्फ़िगरेशन की वजह से, बाहरी संसाधन में प्रोसेसिंग से जुड़ी गड़बड़ी होती है, तो आम तौर पर यह गड़बड़ी लॉग में दिखती है.
संसाधन के लिए एक्सटेंशन के अनुरोध से जुड़ी गड़बड़ियां
यह एक ऐसी गड़बड़ी है जिसमें बाहरी संसाधन के लिए किया गया अनुरोध, एक्सटेंशन से जुड़ी वजहों के अलावा किसी और वजह से पूरा नहीं हो पाया.
उदाहरण के लिए, मान लें कि डेटाबेस में कोई लाइन जोड़ने के लिए, Cloud Spanner एक्सटेंशन का इस्तेमाल किया जा रहा है. हालांकि, लाइन की प्राइमरी कुंजी की वैल्यू, पहले से मौजूद किसी लाइन में इस्तेमाल की जा चुकी है. Cloud Spanner, एक्सटेंशन को एक गड़बड़ी दिखाएगा. यह गड़बड़ी, एक्सटेंशन के लॉग में जुड़ जाएगी.
Trace टूल में सबूत
प्रॉक्सी एडिटर में, ये गड़बड़ियां आम तौर पर 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'