डेवलपमेंट टूल

यहां Apigee Edge के दस्तावेज़ देखे जा रहे हैं.
पर जाएं Apigee X दस्तावेज़.
info

सेवा देने वाले व्यक्ति या कंपनी के तौर पर, आप क्लाइंट ऐप्लिकेशन के लिए एपीआई डेवलप करते हैं. एपीआई प्रॉक्सी और एपीआई प्रॉडक्ट बनाने, कॉन्फ़िगर करने, और मैनेज करने के लिए, यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल किया जा सकता है. इसके अलावा, RESTful सेवाओं को ऐक्सेस करने के लिए, एपीआई को एचटीटीपी अनुरोध भेजे जा सकते हैं. इसके बारे में, यहां दिए गए सेक्शन में बताया गया है.

Edge यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करना

Apigee Edge यूज़र इंटरफ़ेस (यूआई), ब्राउज़र पर आधारित एक टूल है. इसका इस्तेमाल, एपीआई प्रॉक्सी और एपीआई प्रॉडक्ट बनाने, कॉन्फ़िगर करने, और मैनेज करने के लिए किया जा सकता है. कुछ टास्क सिर्फ़ एपीआई का इस्तेमाल करके भी पूरे किए जा सकते हैं,

यहां दी गई टेबल में, Edge यूज़र इंटरफ़ेस (यूआई) को ऐक्सेस करने का तरीका बताया गया है:

प्रॉडक्ट यूज़र इंटरफ़ेस (यूआई) का नाम ऐक्सेस करने का यूआरएल
Edge Edge यूज़र इंटरफ़ेस (यूआई)

Edge यूज़र इंटरफ़ेस (यूआई) को ऐक्सेस करने के लिए, यह यूआरएल इस्तेमाल करें:

https://apigee.com/edge

Edge यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करने के बारे में ट्यूटोरियल के लिए, अपनी पहली एपीआई प्रॉक्सी बनाना लेख पढ़ें.

Edge for Private Cloud  Classic Edge यूज़र इंटरफ़ेस (यूआई)

Edge for Private Cloud के लिए, Edge यूज़र इंटरफ़ेस (यूआई) को ऐक्सेस करने के लिए, यह यूआरएल इस्तेमाल करें:

http://ms-ip:9000

यहां ms-ip, मैनेजमेंट सर्वर नोड का आईपी पता या डीएनएस नाम है.

Edge यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करके, ये काम किए जा सकते हैं:

  • कोड में बदलाव करके और अपनी प्रॉक्सी के ज़रिए, अनुरोध के फ़्लो को ट्रैक करके एपीआई प्रॉक्सी बनाना.
  • एपीआई प्रॉडक्ट बनाना. इनमें, क्लाइंट के अनुरोधों के लिए प्रॉक्सी बंडल की जाती हैं.
  • डेवलपर और डेवलपर ऐप्लिकेशन मैनेज करना.
  • अपने टेस्ट और प्रोडक्शन एनवायरमेंट कॉन्फ़िगर करना.
  • JavaScript और Node.js ऐप्लिकेशन लागू करना.

यहां दी गई इमेज में, यूज़र इंटरफ़ेस (यूआई) में एपीआई प्रॉक्सी एडिटर दिखाया गया है. इसका इस्तेमाल, एपीआई प्रॉक्सी बनाने और कॉन्फ़िगर करने के लिए किया जा सकता है:

Edge UI में, एपीआई प्रॉक्सी एडिटर में चुना गया Develop टैब दिखाता है.

Edge API का इस्तेमाल करना

अपने एपीआई संसाधनों को मैनेज करने के लिए, Edge API का इस्तेमाल किया जा सकता है. एपीआई, लो-लेवल की उन सुविधाओं को भी ऐक्सेस करने की सुविधा देते हैं जो यूज़र इंटरफ़ेस (यूआई) पर उपलब्ध नहीं होती हैं.

एपीआई एंडपॉइंट अक्सर कॉन्फ़िगरेशन की जानकारी वाला डेटा लेते हैं. साथ ही, इन्हें ऐक्सेस करने के लिए, आपको पुष्टि करने की जानकारी देनी होती है. जैसे, उपयोगकर्ता नाम और पासवर्ड. RESTful सिद्धांतों के मुताबिक, एपीआई के किसी भी संसाधन पर, एचटीटीपी GET, POST, PUT, और DELETE तरीकों को कॉल किया जा सकता है.

Apigee Edge API की पूरी सूची देखने के लिए, Apigee Edge API का रेफ़रंस देखें.

Edge API के बेस पाथ के बारे में जानकारी

एपीआई के अनुरोधों में इस्तेमाल किया जाने वाला पाथ, इन चीज़ों को जोड़कर बनता है:

  • एक बेस पाथ जिसमें आपके संगठन का नाम शामिल होता है. उदाहरण के लिए: https://api.enterprise.apigee.com/v1/organizations/org_name
  • एक एंडपॉइंट जो उस Edge संसाधन की ओर इशारा करता है जिसे आपको ऐक्सेस करना है.

उदाहरण के लिए, अगर आपके संगठन का नाम apibuilders है, तो एपीआई को किए जाने वाले हर कॉल में, यह बेस पाथ इस्तेमाल किया जाएगा:

https://api.enterprise.apigee.com/v1/organizations/apibuilders

अपने संगठन में एपीआई प्रॉक्सी की सूची पाने के लिए, इस पर GET कॉल करें:

https://api.enterprise.apigee.com/v1/organizations/apibuilders/apis

कई संसाधन, एनवायरमेंट के हिसाब से तय किए जाते हैं. डिफ़ॉल्ट रूप से, दो एनवायरमेंट उपलब्ध कराए जाते हैं: टेस्ट और प्रॉड. उदाहरण के लिए, कैश, एनवायरमेंट के हिसाब से तय किए जाते हैं. हर एनवायरमेंट में, "mycache" नाम का एक शेयर किया गया कैश डिफ़ॉल्ट रूप से शामिल होता है.

कैश की सूची पाने के लिए, कैश संसाधन पर इस तरह GET कॉल करें:

https://api.enterprise.apigee.com/v1/organizations/apibuilders/environments/test/caches
https://api.enterprise.apigee.com/v1/organizations/apibuilders/environments/prod/caches

ऐक्सेस की पुष्टि करना

एपीआई को कॉल करते समय, आपको एपीआई सर्वर पर अपनी पुष्टि करनी होगी. इसके लिए, इनमें से कोई एक तरीका इस्तेमाल किया जा सकता है:

इसके अलावा, Apigee का सुझाव है कि दो तरीकों से पुष्टि करने की सुविधा का इस्तेमाल किया जाए. इसके बारे में, अपने Apigee खाते के लिए, दो तरीकों से पुष्टि करने की सुविधा चालू करना लेख में बताया गया है.

Edge API की सीमाएं

हर संगठन के लिए, Edge API कॉल की दरें तय की गई हैं:

  • पैसे चुकाकर प्लान लेने वाले संगठनों के लिए, हर मिनट में 10,000 कॉल
  • ट्रायल के तौर पर प्लान लेने वाले संगठनों के लिए, हर मिनट में 600 कॉल

एचटीटीपी स्टेटस कोड 401 और 403 को इस सीमा में शामिल नहीं किया जाता. इन सीमाओं से ज़्यादा किए गए किसी भी कॉल के लिए, 429 Too Many Requests स्टेटस कोड मिलता है.

Edge API के साथ काम करने के लिए सलाह

इस सेक्शन में, कुछ ऐसे तरीकों के बारे में बताया गया है जिनसे Edge API के साथ काम करना आसान हो जाता है.

अनुरोध के यूआरएल को छोटा करना

Edge API के लिए अनुरोध का यूआरएल बनाते समय, इन शॉर्ट फ़ॉर्म का इस्तेमाल किया जा सकता है:

  • /e = /environments
  • /o = /organizations
  • /r = /revisions

अगर शॉर्ट फ़ॉर्म का इस्तेमाल किया जाता है, तो आपको इनका इस्तेमाल लगातार करना होगा. इसका मतलब है कि पाथ में मौजूद सभी एलिमेंट के लिए शॉर्ट फ़ॉर्म का इस्तेमाल करें. जैसा कि ऊपर बताया गया है और यहां दिए गए उदाहरण में दिखाया गया है. इसके अलावा, किसी भी एलिमेंट के लिए शॉर्ट फ़ॉर्म का इस्तेमाल न करें. एक ही पाथ में, पूरे और शॉर्ट फ़ॉर्म वाले एलिमेंट, दोनों का इस्तेमाल करने पर गड़बड़ी होगी.

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

THIS:
https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval/environments/prod/apis/helloworld/revisions/1/deployments
CAN BE MUCH SHORTER:
https://api.enterprise.apigee.com/v1/o/ahamilton-eval/e/prod/apis/helloworld/r/1/deployments

curl कमांड चलाना

एपीआई को अनुरोध भेजने के लिए, एचटीटीपी क्लाइंट का इस्तेमाल करें. दस्तावेज़ में दिए गए कई उदाहरणों में, curl का इस्तेमाल करके एपीआई के अनुरोधों के सैंपल दिए गए हैं. यह एक ऐसा एचटीटीपी क्लाइंट है जिसका इस्तेमाल बड़े पैमाने पर किया जाता है. अगर आपको इंस्टॉल करना है curl, तो इसे http://curl.haxx.se से डाउनलोड किया जा सकता है.

एपीआई को किए जाने वाले कॉल, रिस्पॉन्स पर gzip कंप्रेस करने की सुविधा के साथ काम करते हैं. अगर एपीआई कॉल में 'Accept-Encoding: gzip, deflate' सेट किया जाता है, तो 1024 बाइट से ज़्यादा का कोई भी रिस्पॉन्स, gzip फ़ॉर्मैट में मिलता है.

एक्सएमएल और JSON फ़ॉर्मैट में अनुरोध और रिस्पॉन्स

Edge API, डिफ़ॉल्ट रूप से JSON के तौर पर डेटा दिखाता है. कई अनुरोधों के लिए, रिस्पॉन्स को एक्सएमएल के तौर पर वापस भेजा जा सकता है. इसके लिए, अनुरोध के हेडर में Accept को application/xml पर सेट करें. जैसा कि यहां दिए गए उदाहरण में दिखाया गया है:

curl -H "Authorization: Bearer `get_token`" \
  -H "Accept: application/xml" \
  https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval/apis/helloworld/revisions/1/policies/ \
  | xmllint --format -

रिस्पॉन्स ऐसा दिखना चाहिए:

<List>
  <Item>SOAP-Message-Validation-1</Item>
  <Item>Spike-Arrest-1</Item>
  <Item>XML-to-JSON-1</Item>
</List>

ध्यान दें कि इस उदाहरण में, नतीजों को दिखाने के लिए prettyprint का इस्तेमाल किया गया है. इसके लिए, रिस्पॉन्स को xmllint के ज़रिए पाइप किया गया है.

acurl यूटिलिटी, Accept हेडर के साथ काम नहीं करती. इसलिए, आप सिर्फ़ JSON फ़ॉर्मैट में रिस्पॉन्स पा सकते हैं acurl.

JSON रिस्पॉन्स के लिए prettyprint का इस्तेमाल करने के लिए, json.tool Python लाइब्रेरी का इस्तेमाल किया जा सकता है:

curl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval/apis/helloworld/revisions/1/policies/ \
  -H "Accept: application/json" \
  -H "Authorization: Bearer `get_token`" \
  | python -m json.tool

यहां रिस्पॉन्स का एक उदाहरण दिया गया है:

[
  "SOAP-Message-Validation-1",
  "Spike-Arrest-1",
  "XML-to-JSON-1"
]

एक्सएमएल के लिए, xmllint का इस्तेमाल किया जा सकता है:

curl https://ahamilton-eval-test.apigee.net/getstarted -u email_address | xmllint --format -

एक्सएमएल में पेलोड पोस्ट या पुट करते समय, Content-type एचटीटीपी हेडर का इस्तेमाल करें:

acurl -H "Content-type:text/xml" -X POST -d \
'<XMLPayload>
 </XMLPayload> ' \
https://api.enterprise.apigee.com/v1/organizations/apifactory/apis -u email_address

डिप्लॉयमेंट एनवायरमेंट

Apigee Edge का इस्तेमाल करने वाले हर संगठन के पास, डिफ़ॉल्ट रूप से कम से कम दो एनवायरमेंट होते हैं. इनका इस्तेमाल, एपीआई डेवलप करने, उनकी जांच करने, और उन्हें डिप्लॉय करने के लिए किया जा सकता है. ये एनवायरमेंट "टेस्ट" और "प्रॉड" हैं. अपने एपीआई को सार्वजनिक तौर पर उपलब्ध कराने से पहले, उन्हें डेवलप करने और उनकी जांच करने के लिए "टेस्ट" एनवायरमेंट का इस्तेमाल करें. टेस्ट एनवायरमेंट में डिप्लॉय किए गए एपीआई को सिर्फ़ आपके संगठन के डेवलपर ऐक्सेस कर सकते हैं. अपने एपीआई को "प्रॉड" एनवायरमेंट में डिप्लॉय करें, ताकि वे ऐप्लिकेशन डेवलपर के लिए सार्वजनिक तौर पर उपलब्ध हो सकें.

डीबग करना और जांच करना

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

समस्या हल करने के लिए, अहम डेटा पॉइंट:

  • टाइमस्टैंप: टाइमस्टैंप का इस्तेमाल करके, यह देखा जा सकता है कि हर चरण को पूरा होने में कितना समय लगता है. टाइमस्टैंप की तुलना करके, उन नीतियों को अलग किया जा सकता है जिन्हें लागू होने में सबसे ज़्यादा समय लगता है. इससे, एपीआई कॉल की स्पीड कम हो जाती है.
  • बेस पाथ: बेस पाथ की पुष्टि करके, यह पक्का किया जा सकता है कि कोई नीति, मैसेज को सही सर्वर पर राउट कर रही है.
  • नीति के लागू होने के नतीजे: इन नतीजों से यह देखा जा सकता है कि मैसेज में उम्मीद के मुताबिक बदलाव हो रहा है या नहीं. जैसे, मैसेज को एक्सएमएल से JSON में बदला जा रहा है या मैसेज को कैश किया जा रहा है.

यहां दी गई इमेज में, ट्रेस के नतीजे दिखाए गए हैं:

Edge UI में एपीआई प्रॉक्सी एडिटर में चुना गया Trace टैब दिखाता है.

हर ट्रेस सेशन को इन मुख्य चरणों में बांटा जाता है:

  • क्लाइंट से मिला ओरिजनल अनुरोध: इसमें, क्लाइंट ऐप्लिकेशन से मिले अनुरोध का वर्ब और यूआरआई पाथ, हेडर, बॉडी डेटा, और क्वेरी पैरामीटर दिखते हैं.
  • आपके बैकएंड सेवा को भेजा गया अनुरोध: इसमें, एपीआई प्रॉक्सी से बैकएंड सेवा को भेजा गया अनुरोध मैसेज दिखता है.
  • बैकएंड सेवा से मिला रिस्पॉन्स: इसमें, बैकएंड सेवा से मिले रिस्पॉन्स के हेडर और पेलोड दिखते हैं.
  • क्लाइंट को भेजा गया फ़ाइनल रिस्पॉन्स: रिस्पॉन्स फ़्लो के लागू होने के बाद, अनुरोध करने वाले क्लाइंट ऐप्लिकेशन को भेजा गया रिस्पॉन्स मैसेज.