एपीआई का इस्तेमाल करके एपीआई प्रॉक्सी डिप्लॉय करना

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

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

इस विषय में बताए गए Edge API के तरीकों का इस्तेमाल, एपीआई प्रॉक्सी को इंटिग्रेट करने के लिए किया जा सकता है मैनेज करने की जानकारी देनी होगी. आम तौर पर, इस एपीआई का इस्तेमाल स्क्रिप्ट या कोड लिखने के लिए किया जाता है जो एपीआई प्रॉक्सी को डिप्लॉय करते हैं या जो एपीआई प्रॉक्सी को एक एनवायरमेंट से दूसरे एनवायरमेंट में माइग्रेट करते हैं, यह एक बड़ी ऑटोमेटेड प्रोसेस है, जो अन्य ऐप्लिकेशन को भी डिप्लॉय या माइग्रेट करती है.

Edge API आपके एसडीएलसी (या किसी और के बारे में) के बारे में कोई अनुमान नहीं लगाता. इसके बजाय, यह ऐसे ऐटॉमिक फ़ंक्शन दिखाता है जिन्हें आपकी डेवलपमेंट टीम व्यवस्थित कर सके, ताकि और अपने एपीआई डेवलपमेंट की लाइफ़साइकल को ऑप्टिमाइज़ करें.

पूरी जानकारी के लिए, Edge API देखें.

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

  • OAuth2 (सिर्फ़ सार्वजनिक क्लाउड)
  • SAML (पब्लिक और प्राइवेट क्लाउड)
  • बुनियादी पुष्टि (इसका सुझाव नहीं दिया जाता; सार्वजनिक और निजी क्लाउड)

यह विषय, उन एपीआई के सेट पर फ़ोकस करता है जो एपीआई प्रॉक्सी को मैनेज करने के लिए हैं.

वीडियो: एपीआई को डिप्लॉय करने का तरीका जानने के लिए, यह छोटा सा वीडियो देखें.

एपीआई का इस्तेमाल करना

नीचे दिए गए तरीके, एपीआई के साथ आसान इंटरैक्शन से जुड़े हैं.

अपने संगठन में एपीआई की सूची बनाएं

इसकी शुरुआत करने के लिए, अपने संगठन में मौजूद सभी एपीआई प्रॉक्सी की सूची बनाएं. (याद रखें EMAIL:PASSWORD और ORG_NAME के लिए एंट्री. निर्देशों के लिए, यह देखें Edge API का इस्तेमाल करें.

curl -u EMAIL:PASSWORD \
  https://api.enterprise.apigee.com/v1/o/ORG_NAME/apis

जवाब का उदाहरण:

[ "weatherapi" ]

एपीआई पाएं

आपके पास अपने संगठन के किसी भी एपीआई प्रॉक्सी पर, GET तरीके को कॉल करने का विकल्प है. यह कॉल इनकी सूची दिखाता है API प्रॉक्सी के सभी उपलब्ध संशोधन.

curl -u EMAIL:PASSWORD -H "Accept: application/json" \
  https://api.enterprise.apigee.com/v1/o/ORG_NAME/apis/weatherapi

जवाब का उदाहरण:

{
  "name" : "weatherapi",
  "revision" : [ "1" ]
}

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

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

एपीआई में बदलाव की जानकारी पाएं

एपीआई वर्शन (उदाहरण के लिए, api.company.com/v1) में बहुत बदलाव होना चाहिए बहुत कम. एपीआई वर्शन को बढ़ाने पर, डेवलपर को यह पता चलता है कि एपीआई की मदद से दिखाए गए बाहरी इंटरफ़ेस के हस्ताक्षर में एक अहम बदलाव हुआ है.

एपीआई प्रॉक्सी का बदलाव, किसी एपीआई प्रॉक्सी से जुड़ा हुआ बढ़ने वाला नंबर होता है कॉन्फ़िगरेशन. API सेवाएं आपके कॉन्फ़िगरेशन के संशोधन बनाए रखती हैं ताकि आप कुछ गलत होने पर कॉन्फ़िगरेशन को कॉन्फ़िगर करता है. डिफ़ॉल्ट रूप से, एपीआई प्रॉक्सी में बदलाव अपने-आप होता है एपीआई प्रॉक्सी इंपोर्ट करें एपीआई का इस्तेमाल करके, हर बार एपीआई प्रॉक्सी को इंपोर्ट करने पर बढ़ोतरी होती है. अगर आपको एपीआई प्रॉक्सी के संशोधन को बढ़ाना नहीं चाहते, तो अपडेट करें एपीआई प्रॉक्सी रिविज़न एपीआई. अगर डिप्लॉय करने के लिए Maven का इस्तेमाल किया जा रहा है, तो clean या Maven प्लगिन में बताए गए तरीके के मुताबिक, update विकल्प रीडमी.

उदाहरण के लिए, ज़्यादा जानकारी के लिए, एपीआई प्रॉक्सी रिविज़न 1 पर GET तरीके को कॉल किया जा सकता है.

curl -u EMAIL:PASSWORD -H "Accept:application/json" \
  https://api.enterprise.apigee.com/v1/o/ORG_NAME/apis/weatherapi/revisions/1

जवाब का सैंपल

{
  "configurationVersion" : {
    "majorVersion" : 4,
    "minorVersion" : 0
  },
  "contextInfo" : "Revision 1 of application weatherapi, in organization {org_name}",
  "createdAt" : 1343178905169,
  "createdBy" : "andrew@apigee.com",
  "lastModifiedAt" : 1343178905169,
  "lastModifiedBy" : "andrew@apigee.com",
  "name" : "weatherapi",
  "policies" : [ ],
  "proxyEndpoints" : [ ],
  "resources" : [ ],
  "revision" : "1",
  "targetEndpoints" : [ ],
  "targetServers" : [ ],
  "type" : "Application"
}

एपीआई प्रॉक्सी कॉन्फ़िगरेशन के इन एलिमेंट के बारे में ज़्यादा जानकारी, एपीआई प्रॉक्सी कॉन्फ़िगरेशन के रेफ़रंस में दी गई है.

किसी एपीआई को वातावरण

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

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

एनवायरमेंट की सूची बनाने का तरीका

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

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

एनवायरमेंट में डेटा और संसाधनों को अलग-अलग किया जाता है. उदाहरण के लिए, विज्ञापन देने वालों के लिए, टेस्ट और प्रोडक्शन में अलग-अलग कैश मेमोरी होती हैं, जिन्हें सिर्फ़ उसी एपीआई प्रॉक्सी से ऐक्सेस किया जा सकता है पर्यावरण को ध्यान में रखते हुए काम करना.

एनवायरमेंट को इसमें देखें संगठन

curl -u EMAIL:PASSWORD \
  https://api.enterprise.apigee.com/v1/o/ORG_NAME/environments

रिस्पॉन्स का उदाहरण

[ "test", "prod" ]

डिप्लॉयमेंट के बारे में जानें

डिप्लॉयमेंट एपीआई प्रॉक्सी का एक ऐसा वर्शन है जिसे किसी एनवायरमेंट में डिप्लॉय किया गया है. एक एपीआई डिप्लॉय किया गया स्थिति में मौजूद प्रॉक्सी को नेटवर्क पर, इसमें तय किए गए पतों पर ऐक्सेस किया जा सकता है उस एनवायरमेंट के लिए <VirtualHost> एलिमेंट.

एपीआई प्रॉक्सी डिप्लॉय करना

एपीआई प्रॉक्सी तब तक चालू नहीं किए जा सकते, जब तक उन्हें डिप्लॉय नहीं किया जाता. एपीआई सेवाओं की मदद से, RESTful एपीआई को दिखाया जाता है जो डिप्लॉयमेंट प्रोसेस को कंट्रोल करती हैं.

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

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

सबसे पहले, मौजूदा संशोधन को लागू न करें. वातावरण का नाम और इसकी संशोधन संख्या दर्ज करें जिस एपीआई प्रॉक्सी को आप डिप्लॉय नहीं करना चाहते हैं:

curl -X DELETE \
  https://api.enterprise.apigee.com/v1/o/ORG_NAME/environments/ENV_NAME/apis/API_NAME/revisions/REVISION_NUMBER/deployments \
  -u EMAIL:PASSWORD

इसके बाद, नया वर्शन डिप्लॉय करें. API प्रॉक्सी का नया संशोधन पहले से मौजूद होना चाहिए:

curl -X POST -H "Content-type:application/x-www-form-urlencoded" \
  https://api.enterprise.apigee.com/v1/o/ORG_NAME/environments/ENV_NAME/apis/API_NAME/revisions/REVISION_NUMBER/deployments \
  -u EMAIL:PASSWORD

आसान डिप्लॉयमेंट (शून्य डाउनटाइम)

डिप्लॉयमेंट के दौरान डाउनटाइम की संभावना को कम करने के लिए, override पैरामीटर का इस्तेमाल करें और इसे true पर सेट करें.

किसी एपीआई प्रॉक्सी के किसी एक वर्शन को दूसरे वर्शन के ऊपर डिप्लॉय नहीं किया जा सकता. पहला हमेशा ऐसा होना चाहिए डिप्लॉय नहीं किया गया है. override को true पर सेट करके, आप बताते हैं कि एक संशोधन एपीआई प्रॉक्सी को हाल ही में लागू किए गए वर्शन पर डिप्लॉय किया जाना चाहिए. इसका नतीजा यह होता है कि डिप्लॉयमेंट का क्रम उलटा हो जाता है--नया बदलाव लागू किया जाता है और डिप्लॉयमेंट के बाद पूरा हुआ है, तो पहले से डिप्लॉय किए गए बदलाव को डिप्लॉय नहीं किया गया है.

यहां दिए गए उदाहरण में, override वैल्यू को फ़ॉर्म पैरामीटर के तौर पर पास करके सेट किया गया है:

curl -X POST -H "Content-type:application/x-www-form-urlencoded" \
  https://api.enterprise.apigee.com/v1/o/ORG_NAME/e/ENV_NAME/apis/API_NAME/revisions/REVISION_NUMBER/deployments" \
  -d "override=true" \
  -u EMAIL:PASSWORD

delay पैरामीटर को सेट करके, डिप्लॉयमेंट को ऑप्टिमाइज़ किया जा सकता है. कॉन्टेंट बनाने delay पैरामीटर, सेकंड में टाइम इंटरवल की जानकारी देता है. इससे पहले पिछले संशोधन को लागू नहीं किया जाना चाहिए. प्रभाव यह है कि इन-फ़्लाइट लेन-देनों का समय अंतराल जिसे एपीआई प्रॉक्सी के ट्रांज़ैक्शन को प्रोसेस करने से पहले पूरा करना होता है, उसे डिप्लॉय नहीं किया जाता. इसे फ़ॉलो किया जा रहा है override=true और delay पैरामीटर सेट के साथ क्या होता है:

  • संशोधन 1, अनुरोधों को हैंडल करना है.
  • संशोधन 2 को साथ-साथ लागू किया जा रहा है.
  • संशोधन 2 के पूरी तरह से लागू होने के बाद, संशोधन 2 को नया ट्रैफ़िक भेजा जाता है. कोई नया ट्रैफ़िक नहीं है संशोधन 1 को भेजा गया.
  • हालांकि, हो सकता है कि संशोधन 1 अब भी मौजूदा लेन-देन प्रोसेस कर रहा हो. इसके लिए, delay पैरामीटर (उदाहरण के लिए, 15 सेकंड) से पहले, आप संशोधन 1 को 15 सेकंड मौजूदा लेन-देन की प्रक्रिया पूरी करें.
  • देरी वाले इंटरवल के बाद, बदलाव 1 को डिप्लॉय नहीं किया जाता.
curl -X POST -H "Content-type:application/x-www-form-urlencoded" \
  https://api.enterprise.apigee.com/v1/o/ORG_NAME/e/ENV_NAME/apis/API_NAME/revisions/REVISION_NUMBER/deployments?delay=15" \
  -d "override=true" \
  -u EMAIL:PASSWORD
क्वेरी पैरामीटर ब्यौरा
override

false डिफ़ॉल्ट है (डिप्लॉयमेंट का सामान्य तरीका: मौजूदा बदलावों को डिप्लॉय नहीं किया गया है, तो नया संशोधन लागू किया जाता है).

डिप्लॉयमेंट के सामान्य तरीके को बदलने और बिना किसी रुकावट के सेवाएं देने के लिए, true पर सेट करें डिप्लॉयमेंट. मौजूदा संशोधन तब तक लागू रहता है, जब तक नया संशोधन परिनियोजित किया गया. जब कोई नया वर्शन लागू किया जाता है, तो पुराना बदलाव लागू नहीं होता है. इसमें इस्तेमाल करें डिप्लॉयमेंट न होने पर, इसे कंट्रोल करने के लिए delay पैरामीटर के साथ जोड़ा जा सकता है होता है.

delay

मौजूदा संशोधन से पहले लेन-देन पूरा होने की अनुमति देने के लिए डिप्लॉय नहीं किया गया है—और 502 Bad Gateway या 504 Gateway Timeout errors—इस पैरामीटर को उतने सेकंड पर सेट करें जितने सेकंड के लिए आपको डिप्लॉयमेंट नहीं करना है देर से है. आप जितने सेकंड तक चाहें उतने सेकंड सेट कर सकते हैं. इसके लिए, कोई सीमा तय नहीं है सेकंड की बड़ी संख्या सेट करने की प्रक्रिया पर पड़ने वाला असर. देरी के दौरान, कोई नया ट्रैफ़िक को पुराने संशोधन पर भेजा जाता है.

डिफ़ॉल्ट 0 (शून्य) सेकंड है. जब override को 'सही है' पर सेट किया जाता है और delay 0 है, मौजूदा संशोधन को नए के तुरंत बाद डिप्लॉय नहीं किया गया है बदलाव लागू किया गया. नेगेटिव वैल्यू को 0 (शून्य) सेकंड माना जाता है.

जब override=true को delay के साथ इस्तेमाल किया जाता है, तो एचटीटीपी 5XX डिप्लॉयमेंट के दौरान जवाबों को हटाया जा सकता है. इसकी वजह यह है कि दोनों एपीआई प्रॉक्सी में ये बदलाव किए जाएंगे साथ ही, पुराने बदलावों को देरी के बाद डिप्लॉय नहीं किया जाता.

किसी एपीआई के सभी डिप्लॉयमेंट देखना पुनरीक्षण

कभी-कभी किसी एपीआई के डिप्लॉय किए गए मौजूदा सभी बदलावों की सूची पाना ज़रूरी होता है प्रॉक्सी.

curl https://api.enterprise.apigee.com/v1/o/ORG_NAME/apis/weatherapi/revisions/1/deployments \
  -u EMAIL:PASSWORD
{
  "aPIProxy" : "weatherapi",
  "environment" : [ {
    "configuration" : {
      "basePath" : "",
      "steps" : [ ]
    },
    "name" : "test",
    "server" : [ {
      "status" : "deployed",
      "type" : [ "message-processor" ],
      "uUID" : "90096dd1-1019-406b-9f42-fbb80cd01200"
    }, {
      "status" : "deployed",
      "type" : [ "message-processor" ],
      "uUID" : "7d6e2eb1-581a-4db0-8045-20d9c3306549"
    }, {
      "status" : "deployed",
      "type" : [ "router" ],
      "uUID" : "1619e2d7-c822-45e0-9f97-63882fb6a805"
    }, {
      "status" : "deployed",
      "type" : [ "router" ],
      "uUID" : "8a5f3d5f-46f8-4e99-b4cc-955875c8a8c8"
    } ],
    "state" : "deployed"
  } ],
  "name" : "1",
  "organization" : "org_name"
}

ऊपर दिए गए रिस्पॉन्स में, Apigee के इंटरनल इन्फ़्रास्ट्रक्चर के लिए कई प्रॉपर्टी शामिल हैं किनारे. जब तक कंपनी की इमारत में Apigee Edge का इस्तेमाल नहीं किया जा रहा, तब तक इन सेटिंग में बदलाव नहीं किया जा सकता.

रिस्पॉन्स में organization, अहम प्रॉपर्टी शामिल हैं. environment, aPIProxy, name, और state. इन्होंने बदलाव किया है इन प्रॉपर्टी वैल्यू की समीक्षा करके, यह पुष्टि की जा सकती है कि एपीआई प्रॉक्सी में कोई खास बदलाव एनवायरमेंट में डिप्लॉय किए जाते हैं.

इसमें सभी डिप्लॉयमेंट देखें टेस्ट एनवायरमेंट

किसी खास एनवायरमेंट के लिए भी डिप्लॉयमेंट की स्थिति का पता लगाया जा सकता है. इसमें बदलाव भी शामिल हैं वर्तमान में परिनियोजित API प्रॉक्सी की संख्या) के लिए नीचे दिए गए कॉल का उपयोग करें:

curl -u EMAIL:PASSWORD
  https://api.enterprise.apigee.com/v1/o/ORG_NAME/environments/test/deployments

इससे, टेस्ट एनवायरमेंट में डिप्लॉय किए गए हर एपीआई के लिए वही नतीजा मिलता है जो ऊपर दिया गया है

अपने इसमें सभी डिप्लॉयमेंट देखें संगठन

सभी एनवायरमेंट में सभी एपीआई प्रॉक्सी के हाल ही में लागू किए गए सभी बदलावों की सूची फ़ेच करने के लिए, नीचे दिए गए एपीआई तरीके का इस्तेमाल करें:

curl https://api.enterprise.apigee.com/v1/o/ORG_NAME/deployments \
  -u EMAIL:PASSWORD

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

एपीआई RESTful है, इसलिए आपको JSON या एक्सएमएल के साथ, POST तरीके का इस्तेमाल करना होगा पेलोड का इस्तेमाल करें.

आपके एपीआई प्रॉक्सी के लिए एक प्रोफ़ाइल जनरेट की गई. एपीआई प्रॉक्सी को डिफ़ॉल्ट रूप से यह दिखाएं JavaScript ऑब्जेक्ट नोटेशन (JSON). यहां, ऊपर दिए गए POST अनुरोध के लिए डिफ़ॉल्ट JSON रिस्पॉन्स दिया गया है, जिसने weatherapi नाम का एक एपीआई प्रॉक्सी बनाया. प्रोफ़ाइल में हर एलिमेंट की जानकारी अनुसरण करता है:

{
  "configurationVersion" : {
    "majorVersion" : 4,
    "minorVersion" : 0
  },
  "contextInfo" : "Revision 1 of application weatherapi, in organization {org_name}",
  "createdAt" : 1357172145444,
  "createdBy" : "you@yourcompany.com",
  "displayName" : "weatherapi",
  "lastModifiedAt" : 1357172145444,
  "lastModifiedBy" : "you@yourcompany.com",
  "name" : "weatherapi",
  "policies" : [ ],
  "proxyEndpoints" : [ ],
  "resources" : [ ],
  "revision" : "1",
  "targetEndpoints" : [ ],
  "targetServers" : [ ],
  "type" : "Application"
}

जनरेट की गई एपीआई प्रॉक्सी प्रोफ़ाइल, एपीआई की पूरी स्ट्रक्चर को दिखाती है प्रॉक्सी:

  • APIProxy revision: एपीआई प्रॉक्सी को क्रम से नंबर देना एपीआई सेवाओं के ज़रिए मैनेज किया जा रहा कॉन्फ़िगरेशन
  • APIProxy name: एपीआई प्रॉक्सी का यूनीक नाम
  • ConfigurationVersion: एपीआई सेवाओं का वह वर्शन जिसमें एपीआई प्रॉक्सी को शामिल किया जाता है कॉन्फ़िगरेशन
  • CreatedAt: एपीआई प्रॉक्सी जनरेट किए जाने का समय, UNIX समय में फ़ॉर्मैट किया गया
  • CreatedBy: एपीआई बनाने वाले Apigee Edge उपयोगकर्ता का ईमेल पता प्रॉक्सी
  • DisplayName: एपीआई प्रॉक्सी के लिए इस्तेमाल में आसान नाम
  • LastModifiedAt: वह समय जब एपीआई प्रॉक्सी जनरेट किया गया था, जो UNIX में फ़ॉर्मैट किया गया था समय
  • LastModifiedBy: एपीआई बनाने वाले Apigee Edge उपयोगकर्ता का ईमेल पता प्रॉक्सी
  • Policies: इस एपीआई प्रॉक्सी में जोड़ी गई नीतियों की सूची
  • ProxyEndpoints: नाम वाले प्रॉक्सीएंडपॉइंट की सूची
  • Resources: JavaScript, Python, Java, XSLT जैसे रिसॉर्स की सूची इस एपीआई प्रॉक्सी में एक्ज़ीक्यूट किया जाएगा
  • TargetServers: टारगेट सर्वर नाम की एक सूची (जिसे मैनेजमेंट एपीआई), लोड बैलेंसिंग के लिए बेहतर कॉन्फ़िगरेशन में इस्तेमाल किया जाता है
  • TargetEndpoints: नाम वाले TargetEndpoints की सूची

ध्यान दें कि एपीआई प्रॉक्सी कॉन्फ़िगरेशन के कई एलिमेंट, जिन्हें POST का इस्तेमाल करके बनाया गया है ऊपर दिया गया तरीका खाली है. नीचे दिए गए विषयों में, आपको पासकोड जोड़ने और कॉन्फ़िगर करने का तरीका पता चलेगा एपीआई प्रॉक्सी के कॉम्पोनेंट शामिल करते हैं.

एपीआई प्रॉक्सी कॉन्फ़िगरेशन के रेफ़रंस में भी इन कॉन्फ़िगरेशन एलिमेंट के बारे में पढ़ा जा सकता है.

API के ख़िलाफ़ स्क्रिप्टिंग

सैंपल एपीआई प्रॉक्सी का इस्तेमाल करना, GitHub पर उपलब्ध, शेल स्क्रिप्ट उपलब्ध कराई जाती हैं. इनमें Apigee डिप्लॉय टूल को रैप किया जाता है. अगर किसी वजह से Python डिप्लॉय टूल का इस्तेमाल नहीं किया जा सकता, तो एपीआई को सीधे कॉल किया जा सकता है. दोनों ही तरीके अपनाए गए हैं नीचे सैंपल स्क्रिप्ट में बताया गया है.

डिप्लॉयमेंट टूल को रैप करना

सबसे पहले, पक्का करें कि Python डिप्लॉय टूल आपके स्थानीय वातावरण में उपलब्ध हो.

इसके बाद, अपने क्रेडेंशियल सेव रखने के लिए एक फ़ाइल बनाएं. आपकी लिखी गई डिप्लॉयमेंट स्क्रिप्ट इंपोर्ट की जाएंगी इन सेटिंग से अपने खाते के क्रेडेंशियल को एक ही जगह से मैनेज करने में मदद मिलती है. एपीआई में प्लैटफ़ॉर्म सैंपल, इस फ़ाइल का नाम setenv.sh है.

#!/bin/bash

org="Your ORG on enterprise.apigee.com"
username="Your USERNAME on enterprise.apigee.com"

# While testing, it's not necessary to change the setting below
env="test"
# Change the value below only if you have an on-premise deployment
url="https://api.enterprise.apigee.com"
# Change the value below only if you have a custom domain
api_domain="apigee.net"

export org=$org
export username=$username
export env=$env
export url=$url
export api_domain=$api_domain

ऊपर दी गई फ़ाइल आपकी सभी सेटिंग को उन शेल स्क्रिप्ट में उपलब्ध कराती है जो डिप्लॉयमेंट को रैप करती हैं टूल.

अब एक शेल स्क्रिप्ट बनाएं जो उन सेटिंग को इंपोर्ट करती है और डिप्लॉय टूल को कॉल करने के लिए उनका इस्तेमाल करती है. (उदाहरण के लिए, देखें कि Apigee API प्लैटफ़ॉर्म के सैंपल.)

#!/bin/bash

source path/to/setenv.sh

echo "Enter your password for the Apigee Enterprise organization $org, followed by [ENTER]:"

read -s password

echo Deploying $proxy to $env on $url using $username and $org

path/to/deploy.py -n {api_name} -u $username:$password -o $org -h $url -e $env -p / -d path/to/apiproxy

आपके काम को आसान बनाने के लिए, एक स्क्रिप्ट भी बनाएं, जिसकी मदद से API को शुरू और टेस्ट किया जा सकता है. जैसे, अनुसरण करता है:

#!/bin/bash

echo Using org and environment configured in /setup/setenv.sh

source /path/to/setenv.sh

set -x

curl "http://$org-$env.apigee.net/{api_basepath}"

एपीआई को सीधे तौर पर शुरू करना

ऐसी आसान शेल स्क्रिप्ट लिखना मददगार हो सकता है जो अपलोड करने की प्रोसेस को ऑटोमेट करती हैं और एपीआई प्रॉक्सी डिप्लॉय करने में.

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

#!/bin/bash

#This sets the name of the API proxy and the basepath where the API will be available
api=api

source /path/to/setenv.sh

echo Delete the DS_store file on OSX

echo find . -name .DS_Store -print0 | xargs -0 rm -rf
find . -name .DS_Store -print0 | xargs -0 rm -rf

echo "Enter your password for the Apigee Enterprise organization $org, followed by [ENTER]:"

read -s password

echo Undeploy and delete the previous revision

# Note that you need to explicitly update the revision to be undeployed.
# One benefit of the Python deploy tool is that it manages this for you.

curl -k -u $username:$password "$url/v1/o/$org/e/$env/apis/$api/revisions/1/deployments" -X DELETE

curl -k -u $username:$password -X DELETE "$url/v1/o/$org/apis/$api/revisions/1"

rm -rf $api.zip

echo Create the API proxy bundle and deploy

zip -r $api.zip apiproxy

echo Import the new revision to $env environment 

curl -k -v -u $username:$password "$url/v1/o/$org/apis?action=import&name=$api" -T $api.zip -H "Content-Type: application/octet-stream" -X POST

echo Deploy the new revision to $env environment 

curl -k -u $username:$password "$url/v1/o/$org/e/$env/apis/$api/revisions/1/deployments" -X POST