चौथा चरण: नीति जोड़ना

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

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

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

इस ट्यूटोरियल में, आपको अपने प्रॉक्सी में XMLtoJSON नीति जोड़नी है. यह नीति, एक्सएमएल मैसेज के पेलोड को JSON में बदलती है. इससे, रिस्पॉन्स का Content-Type हेडर भी बदल जाता है.

अपने प्रॉक्सी में JSON नीति में एक्सएमएल जोड़ने के लिए:

  1. किसी ब्राउज़र में Edge यूज़र इंटरफ़ेस (यूआई) खोलकर उसमें लॉग इन करें.
  2. मुख्य विंडो में API प्रॉक्सी पर क्लिक करें और कोई प्रॉक्सी चुनें. इस उदाहरण के लिए, वह प्रॉक्सी चुनें जिसे आपने पहले चरण: एपीआई प्रॉक्सी बनाएं में बनाया है.
  3. डेवलप करें टैब पर क्लिक करें:

    Edge, एपीआई प्रॉक्सी एडिटर दिखाता है.

  4. नेविगेटर पैनल में, प्रॉक्सी एंडपॉइंट > डिफ़ॉल्ट > PreFlow पर क्लिक करें:

    Edge, फ़्लो एडिटर दिखाता है:

    इसके अलावा, Edge कोड पैनल में डिफ़ॉल्ट प्रॉक्सी एंडपॉइंट कॉन्फ़िगरेशन दिखाता है:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <ProxyEndpoint name="default">
      <Description/>
      <FaultRules/>
      <PreFlow name="PreFlow">
        <Request/>
        <Response/>
      </PreFlow>
      <PostFlow name="PostFlow">
        <Request/>
        <Response/>
      </PostFlow>
      <Flows/>
      <HTTPProxyConnection>
        <BasePath>/getstarted</BasePath>
        <Properties/>
        <VirtualHost>default</VirtualHost>
        <VirtualHost>secure</VirtualHost>
      </HTTPProxyConnection>
      <RouteRule name="default">
        <TargetEndpoint>default</TargetEndpoint>
      </RouteRule>
    </ProxyEndpoint>
  5. अपने प्रॉक्सी में कोई नीति जोड़ने के लिए, PreFlow के जवाब में + चरण बटन पर क्लिक करें (फ़्लो एडिटर का निचला आधा हिस्सा):

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

  6. नीचे की ओर स्क्रोल करें और मीडिएशन कैटगरी में एक्सएमएल से JSON नीति चुनें.
  7. डिफ़ॉल्ट नाम छोड़ें और जोड़ें पर क्लिक करें.

    एज नई नीति को रिस्पॉन्स के PreFlow से जोड़ता है:

    ध्यान दें कि जोड़ें पर क्लिक करने पर, Edge ये काम करता है:

    • नेविगेटर पैनल में, नीतियां सेक्शन में नई नीति जोड़ी जाती है.
    • फ़्लो पैनल में, JSON नीति में एक्सएमएल जोड़ता है.
    • कोड पैनल में, नीति के कॉन्फ़िगरेशन के लिए एक्सएमएल दिखती है.
  8. मौजूदा बदलावों को अपने बदलावों के साथ सेव करने के लिए, सेव करें पर क्लिक करें.

अब इसे आज़माएं! किसी टर्मिनल विंडो में, नीचे दिए गए curl निर्देश को लागू करें:

curl https://org_name-test.apigee.net/getstarted

जगह:

  • जब आपने Apigee खाता बनाया था, तब org_name, संगठन का नाम था जो Apigee ने आपको असाइन किया था.
  • -test पर्यावरण है. आपने चरण 1: एपीआई प्रॉक्सी बनाएं में, "टेस्ट" एनवायरमेंट में अपनी नई प्रॉक्सी डिप्लॉय की है.
  • /getstarted, प्रॉक्सी बेस पाथ है.

इसके अलावा, उसी यूआरएल को किसी ब्राउज़र में भी खोला जा सकता है.

आपको यह जवाब मिलेगा:

{
  "root": {
    "city": "San Jose",
    "firstName": "John",
    "lastName": "Doe",
    "state": "CA"
  }
}

अगर जवाब का मुख्य हिस्सा ऐसा नहीं दिखता है, तो जांचें कि:

  1. आपका टारगेट एंडपॉइंट "https://mocktarget.apigee.net/xml" है, जैसा कि तीसरा चरण: टारगेट एंडपॉइंट बदलना में बताया गया है:
    • अगर आपको जवाब के तौर पर "नमस्ते, मेहमान!" मिलता है, तो आपको टारगेट एंडपॉइंट के आखिर में "/xml" जोड़ना होगा.
    • अगर आपको 404 कोड मिलता है, तो देख लें कि "apigee.net" ऐक्सेस किया जा रहा हो, न कि "apigee.com".
  2. आपके प्रॉक्सी का सबसे नया वर्शन डिप्लॉय किया गया है. एपीआई प्रॉक्सी को डिप्लॉय और डिप्लॉय करना में बताया गया तरीका अपनाकर, एपीआई प्रॉक्सी को फिर से डिप्लॉय करके देखें.

एचटीटीपी अनुरोध और रिस्पॉन्स हेडर देखने के लिए, -vs विकल्प की मदद से curl में कितने शब्दों में जानकारी दी जाए, इसकी सेटिंग चालू करें (v, रिस्पॉन्स को ज़्यादा शब्दों में दिखाता है, लेकिन s कुछ कम दिलचस्प जानकारी को छिपा देता है). उदाहरण के लिए:

curl -vs https://ahamilton-eval-test.apigee.net/getstarted | python -m json.tool

आपको ऐसा जवाब मिलेगा. ध्यान दें कि रिस्पॉन्स में Content-Type हेडर "application/json" है. JSON नीति में, रिस्पॉन्स को वापस भेजने से पहले हेडर को एक्सएमएल में बदला जाता है.

*   Trying 10.20.30.40...
* TCP_NODELAY set
* Connected to ahamilton-eval-test.apigee.net (10.20.30.40) port 443 (#0)
...
> GET /getstarted HTTP/1.1
> Host: ahamilton-eval-test.apigee.net
> User-Agent: curl/7.58.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Date: Fri, 25 May 2018 16:20:00 GMT
< Content-Type: application/json;charset=UTF-8
< Content-Length: 77
< Connection: keep-alive
< X-Powered-By: Apigee
< Access-Control-Allow-Origin: *
...
{ [77 bytes data]
{
  "root": {
    "city": "San Jose",
    "firstName": "John",
    "lastName": "Doe",
    "state": "CA"
  }
}

अगला कदम

ज़्यादा जानें