कस्टम आंकड़ों का इस्तेमाल करके एपीआई मैसेज के कॉन्टेंट का विश्लेषण करना

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

Edge API Analytics, हर एपीआई अनुरोध और उसके जवाब से कई तरह की आंकड़ों की जानकारी इकट्ठा करता है और उसका विश्लेषण करता है. यह जानकारी अपने-आप इकट्ठा होती है. इसके बाद, इसे Edge यूज़र इंटरफ़ेस (यूआई) में या मेट्रिक एपीआई का इस्तेमाल करके दिखाया जा सकता है. इन आंकड़ों के बारे में ज़्यादा जानकारी के लिए, metrics और डाइमेंशन देखें.

यह भी हो सकता है कि आप अपने एपीआई प्रॉक्सी, ऐप्लिकेशन, प्रॉडक्ट या डेवलपर के हिसाब से Analytics का कस्टम डेटा इकट्ठा करना चाहें. उदाहरण के लिए, ऐसा हो सकता है कि आप उन क्वेरी पैरामीटर, अनुरोध हेडर, अनुरोधों और रिस्पॉन्स का मुख्य हिस्सा या वैरिएबल से डेटा इकट्ठा करना चाहें जिन्हें आपने अपने एपीआई में तय किया है.

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

Google Books API के बारे में जानकारी

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

उदाहरण के लिए, किताब के नाम से खोजने के लिए, /volumes एंडपॉइंट को अनुरोध भेजें. Books API में एक क्वेरी पैरामीटर पास करें जिसमें किताब का नाम हो:

curl https://www.googleapis.com/books/v1/volumes?q=davinci%20code

कॉल, JSON फ़ॉर्मैट में ऐसे आइटम दिखाता है जो खोज की शर्तों से मेल खाते हैं. रिस्पॉन्स में पहला ऐरे एलिमेंट यहां दिखाया गया है (ध्यान दें कि आसानी के लिए कुछ कॉन्टेंट हटा दिया गया है):

{
 "kind": "books#volumes",
 "totalItems": 1799,
 "items": [
  {
   "kind": "books#volume",
   "id": "ohZ1wcYifLsC",
   "etag": "4rzIsMdBMYM",
   "selfLink": "https://www.googleapis.com/books/v1/volumes/ohZ1wcYifLsC",
   "volumeInfo": {
    "title": "The Da Vinci Code",
    "subtitle": "Featuring Robert Langdon",
    "authors": [
     "Dan Brown"
    ],
    "publisher": "Anchor",
    "publishedDate": "2003-03-18",
    "description": "MORE THAN 80 MILLION COPIES SOLD ....",
    "industryIdentifiers": [
     {
      "type": "ISBN_10",
      "identifier": "0385504217"
     },
     {
      "type": "ISBN_13",
      "identifier": "9780385504218"
     }
    ],
    "readingModes": {
     "text": true,
     "image": true
    },
    "pageCount": 400,
    "printType": "BOOK",
    "categories": [
     "Fiction"
    ],
    "averageRating": 4.0,
    "ratingsCount": 710,
    "maturityRating": "NOT_MATURE",
    "allowAnonLogging": true,
    "contentVersion": "0.18.13.0.preview.3",
    "panelizationSummary": {
     "containsEpubBubbles": false,
     "containsImageBubbles": false
    },
...
   "accessInfo": {
    "country": "US",
    "viewability": "PARTIAL",
    "embeddable": true,
    "publicDomain": false,
    "textToSpeechPermission": "ALLOWED_FOR_ACCESSIBILITY",
    "epub": {
     "isAvailable": true,
     "acsTokenLink": "link"
    },
    "pdf": {
     "isAvailable": true,
     "acsTokenLink": "link"
    },
...
   }
  }

ध्यान दें कि जवाब के कई हिस्सों को हाइलाइट किया गया है:

  • खोज परिणामों की संख्या
  • किताब की औसत रेटिंग
  • रेटिंग की संख्या
  • किताब के PDF वर्शन की उपलब्धता

नीचे दिए सेक्शन में, रिस्पॉन्स के इन विषयों के लिए आंकड़े इकट्ठा करने का तरीका बताया गया है. साथ ही, खोज की शर्तों वाले क्वेरी पैरामीटर q के लिए भी आंकड़े इकट्ठा करने का तरीका बताया गया है.

Google Books API के लिए एपीआई प्रॉक्सी बनाना

Google Books API के आंकड़े इकट्ठा करने से पहले, आपको Edge API वाली एक प्रॉक्सी बनानी होगी, जो इसे कॉल करती हो. इसके बाद, Google Books API से अपने अनुरोध करने के लिए, उस एपीआई प्रॉक्सी को शुरू करें.

एपीआई प्रॉक्सी बनाने के लिए, ट्यूटोरियल का दूसरा चरण: एपीआई प्रॉक्सी बनाएं. इसमें https://mocktarget.apigee.net एपीआई को कॉल करने वाली प्रॉक्सी बनाने का तरीका बताया गया है. ध्यान दें कि उस ट्यूटोरियल में जिस प्रॉक्सी के बारे में बताया गया है उसे कॉल करने के लिए एपीआई पासकोड की ज़रूरत नहीं होती.

Google Books API के /volumes एंडपॉइंट के लिए, एपीआई प्रॉक्सी बनाने के लिए भी इसी तरीके का इस्तेमाल करें. इस प्रक्रिया के पांचवें चरण में, एपीआई प्रॉक्सी बनाते समय, Google Books API का रेफ़रंस देने के लिए इन प्रॉपर्टी को सेट करें:

  • प्रॉक्सी नाम: "mybooksearch"
  • प्रॉक्सी बेस पाथ: "/mybooksearch"
  • मौजूदा एपीआई: "https://www.googleapis.com/books/v1/Volumes"

प्रॉक्सी बनाने और डिप्लॉय करने के बाद, इस फ़ॉर्म में curl कमांड का इस्तेमाल करके, इसे कॉल किया जा सकता है:

curl http://org_name-env_name.apigee.net/mybooksearch?q=davinci%20code

यहां org_name और env_name उस संगठन और माहौल की जानकारी देते हैं जहां आपने प्रॉक्सी को डिप्लॉय किया है. उदाहरण के लिए:

curl http://myorg-test.apigee.net/mybooksearch?q=davinci%20code

Analytics का कस्टम डेटा इकट्ठा करना

एपीआई अनुरोध से आंकड़ों का डेटा इकट्ठा करना, दो चरणों वाली प्रक्रिया है:

  1. पसंद का डेटा एक्सट्रैक्ट करें और उसे वैरिएबल पर लिखें.

    Edge API Analytics को भेजा जाने वाला सारा डेटा, वैरिएबल में सेव की गई वैल्यू से मिलता है. कुछ डेटा, पहले से तय किए गए Edge flow वैरिएबल में अपने-आप सेव हो जाता है, जैसे कि एपीआई प्रॉक्सी को भेजे गए क्वेरी पैरामीटर की वैल्यू. पहले से तय फ़्लो वैरिएबल के बारे में ज़्यादा जानकारी के लिए, फ़्लो वैरिएबल की खास जानकारी देखें.

    किसी अनुरोध या जवाब से कस्टम कॉन्टेंट एक्सट्रैक्ट करने के लिए, वैरिएबल निकालें नीति का इस्तेमाल करें और उस डेटा को किसी वैरिएबल में लिखें.

  2. किसी वैरिएबल से Edge API Analytics में डेटा लिखें.

    किसी वैरिएबल से Edge API Analytics में डेटा लिखने के लिए, आंकड़े कलेक्टर की नीति का इस्तेमाल करें. यह डेटा, पहले से तय किए गए Edge फ़्लो वैरिएबल या एक्सट्रैक्ट वैरिएबल नीति से बनाए गए वैरिएबल से मिल सकता है.

आंकड़ों का डेटा इकट्ठा करने के बाद, उसे फिर से पाने और फ़िल्टर करने के लिए, Edge मैनेजमेंट यूज़र इंटरफ़ेस (यूआई) या एपीआई का इस्तेमाल किया जा सकता है. उदाहरण के लिए, एक ऐसी कस्टम रिपोर्ट जनरेट की जा सकती है जो हर किताब के टाइटल की औसत रेटिंग दिखाती है, जहां किताब का नाम, एपीआई को भेजे गए क्वेरी पैरामीटर की वैल्यू से मेल खाता है.

Analytics का डेटा एक्सट्रैक्ट करने के लिए एक्सट्रैक्ट वैरिएबल नीति

Analytics डेटा को एपीआई Analytics को भेजने से पहले, एक्सट्रैक्ट करके किसी वैरिएबल में सेव करना होगा. यह ऐसा फ़्लो वैरिएबल होना चाहिए जो Edge या कस्टम वैरिएबल के ज़रिए पहले से तय किया गया हो. किसी वैरिएबल में डेटा लिखने के लिए, वैरिएबल एक्सट्रैक्ट करने की नीति का इस्तेमाल करें.

एक्सट्रैक्ट वैरिएबल नीति, JSONPath या XPath एक्सप्रेशन के साथ मैसेज पेलोड को पार्स कर सकती है. Google Books API के JSON खोज नतीजों से जानकारी निकालने के लिए, किसी JSONPath एक्सप्रेशन का इस्तेमाल करें. उदाहरण के लिए, JSON नतीजों के कलेक्शन में मौजूद पहले आइटम से averageRating की वैल्यू एक्सट्रैक्ट करने के लिए, JSONPath एक्सप्रेशन इस तरह है:

$.items[0].volumeInfo.averageRating

JSONPath का आकलन हो जाने के बाद, 'वैरिएबल एक्सट्रैक्ट करें' नीति, निकाली गई वैल्यू को वैरिएबल में लिखती है.

इस उदाहरण में, चार वैरिएबल बनाने के लिए एक्सट्रैक्ट वैरिएबल नीति का इस्तेमाल किया गया है:

  • responsejson.totalitems
  • responsejson.ratingscount
  • responsejson.avgrating
  • responsejson.pdf

इन वैरिएबल के लिए, responsejson वैरिएबल प्रीफ़िक्स है, और totalitems, ratingscount, avgrating, और pdf वैरिएबल नाम हैं.

नीचे दी गई 'वैरिएबल एक्सट्रैक्ट करें' नीति में JSON रिस्पॉन्स से डेटा निकालने और उसे कस्टम वैरिएबल में लिखने का तरीका बताया गया है. हर <Variable> एलिमेंट, name एट्रिब्यूट का इस्तेमाल करता है. यह कस्टम वैरिएबल और उससे जुड़े JSONPath एक्सप्रेशन के नाम के बारे में बताता है. <VariablePrefix> एलिमेंट से पता चलता है कि वैरिएबल प्रीफ़िक्स है.

इस नीति को Edge यूज़र इंटरफ़ेस (यूआई) में मौजूद अपने एपीआई प्रॉक्सी में जोड़ें. अगर एक्सएमएल में एपीआई प्रॉक्सी बनाया जा रहा है, तो ExtractVars.xml नाम वाली /apiproxy/policies फ़ाइल में नीति जोड़ें:

<ExtractVariables name="ExtractVars">
    <Source>response</Source>
    <JSONPayload>
        <Variable name="totalitems">
            <JSONPath>$.totalItems</JSONPath>
        </Variable>
        <Variable name="ratingscount">
            <JSONPath>$.items[0].volumeInfo.ratingsCount</JSONPath>
        </Variable>
        <Variable name="avgrating">
            <JSONPath>$.items[0].volumeInfo.averageRating</JSONPath>
        </Variable>
        <Variable name="pdf">
            <JSONPath>$.items[0].accessInfo.pdf.isAvailable</JSONPath>
        </Variable>
    </JSONPayload>
    <VariablePrefix>responsejson</VariablePrefix>
    <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
</ExtractVariables>

Analytics सेवा में डेटा लिखने के लिए, स्टैटिस्टिक्स कलेक्टर नीति का इस्तेमाल करना

किसी वैरिएबल से Edge API Analytics में डेटा लिखने के लिए आंकड़े कलेक्टर नीति का इस्तेमाल करें. सांख्यिकी कलेक्टरी नीति के बारे में नीचे बताया गया है:

<StatisticsCollector>
<DisplayName>Statistics Collector-1</DisplayName>
    <Statistics>
        <Statistic name="statName" ref="varName" type="dataType">defVal</Statistic>
       …
    </Statistics>
</StatisticsCollector>

कहां:

  • statName वह नाम बताता है जिसका इस्तेमाल आप कस्टम रिपोर्ट में आंकड़ों के डेटा का रेफ़रंस देने के लिए करते हैं.
  • varName उस वैरिएबल का नाम बताता है जिसमें इकट्ठा किया जाने वाला Analytics डेटा मौजूद होता है. यह वैरिएबल Edge में बनाया जा सकता है या यह एक्सट्रैक्ट वैरिएबल नीति के ज़रिए बनाया गया कस्टम वैरिएबल हो सकता है.
  • dataType, रिकॉर्ड किए गए डेटा के डेटा टाइप को स्ट्रिंग, पूर्णांक, फ़्लोट, लॉन्ग, डबल या बूलियन के तौर पर दिखाता है.

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

  • defValue, कस्टम वैरिएबल के लिए एक डिफ़ॉल्ट वैल्यू देता है. इसे एपीआई Analytics को भेजा जाता है. ऐसा तब किया जाता है, जब वैरिएबल को हल नहीं किया जा सकता या वैरिएबल तय नहीं होता.

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

request.queryparam.queryParamName

"q" नाम के क्वेरी पैरामीटर के लिए, इसका रेफ़रंस इस तरह दें:

request.queryparam.q

इस नीति को Edge यूज़र इंटरफ़ेस (यूआई) में अपने एपीआई प्रॉक्सी में जोड़ें या अगर आप एक्सएमएल में एपीआई प्रॉक्सी बना रहे हैं, तो AnalyzeBookResults.xml, नाम की /apiproxy/policies में नीचे दिए गए कॉन्टेंट वाली फ़ाइल जोड़ें:

<StatisticsCollector name="AnalyzeBookResults">
 <Statistics>
        <Statistic name="totalitems" ref="responsejson.totalitems" type="integer">0</Statistic>
        <Statistic name="ratingscount" ref="responsejson.ratingscount" type="integer">0</Statistic>
        <Statistic name="avgrating" ref="responsejson.avgrating" type="float">0.0</Statistic>
        <Statistic name="pdf" ref="responsejson.pdf" type="boolean">true</Statistic>
        <Statistic name="booktitle" ref="request.queryparam.q" type="string">none</Statistic>
 </Statistics>
</StatisticsCollector>

प्रॉक्सीEndpoint रिस्पॉन्स फ़्लो में नीतियां अटैच करें

चीज़ें ठीक से काम करें, इसके लिए ज़रूरी है कि नीतियों को एपीआई प्रॉक्सी फ़्लो से सही जगह पर जोड़ा जाए. इस्तेमाल के इस मामले में, Google Books API से रिस्पॉन्स मिलने के बाद और अनुरोध करने वाले क्लाइंट को जवाब भेजने से पहले, नीतियों का पालन होना ज़रूरी है. इसलिए, प्रॉक्सीEndpoint रिस्पॉन्स PreFlow में, नीतियां अटैच करें.

नीचे दिए गए उदाहरण के तौर पर दिया गया PrivacyEndpoint कॉन्फ़िगरेशन, सबसे पहले ExtractVars नाम की नीति को लागू करता है, ताकि रिस्पॉन्स मैसेज को पार्स किया जा सके. इसके बाद, AnalyzeBookResults नाम की नीति उन वैल्यू को API Analytics में फ़ॉरवर्ड कर देती है:

<ProxyEndpoint name="default">
    ><PreFlow name="PreFlow">
        <Request/>
        <Response>
            <Step>
                <Name>Extract-Vars</Name>
            </Step>
            <Step>
                <Name>AnalyzeBookResults</Name>
            </Step>
        </Response>
    </PreFlow>
 <HTTPProxyConnection>
  <!-- Base path used to route inbound requests to this API proxy -->
  <BasePath>/mybooksearch</BasePath>
  <!-- The named virtual host that defines the base URL for requests to this proxy -->
  <VirtualHost>default</VirtualHost>
 </HTTPProxyConnection>
 <RouteRule name="default">
 <!-- Connects the proxy to the target defined under /targets -->
  <TargetEndpoint>default</TargetEndpoint>
 </RouteRule>
</ProxyEndpoint>

एपीआई प्रॉक्सी डिप्लॉय करें

ये बदलाव करने के बाद, आपको कॉन्फ़िगर किए गए एपीआई प्रॉक्सी को डिप्लॉय करना होगा.

आंकड़ों का डेटा भरना

एपीआई प्रॉक्सी डिप्लॉय करने के बाद, एपीआई Analytics में डेटा भरने के लिए प्रॉक्सी को कॉल करें. ऐसा करने के लिए, यहां दिए गए निर्देशों का पालन करें. इनमें से हर एक अलग किताब के नाम का इस्तेमाल करता है:

मोबी डिक:

curl https://org_name-env_name.apigee.net/mybooksearch?q=mobey%20dick

दा विंची कोड:

curl https://org_name-env_name.apigee.net/mybooksearch?q=davinci%20code 

गोन गर्ल:

curl https://org_name-env_name.apigee.net/mybooksearch?q=gone%20girl  

गेम ऑफ़ थ्रोन्स:

curl https://org_name-env_name.apigee.net/mybooksearch?q=game%20of%20thrones   

आंकड़ों का डेटा देखें

Edge में आपको Analytics के डेटा को देखने के दो तरीके हैं:

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

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

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

सांख्यिकी कलेक्टर की नीति बनाते समय, आपको यह तय करना होता है कि इकट्ठा किए गए डेटा का डेटा किस तरह का है. स्ट्रिंग डेटा टाइप के लिए, आंकड़ों के डेटा को कस्टम रिपोर्ट में डाइमेंशन के तौर पर देखें. संख्या वाले डेटा टाइप (इंटीजर/फ़्लोट/लॉन्ग/डबल) के लिए, कस्टम रिपोर्ट में आंकड़ों की तारीख को डाइमेंशन या मेट्रिक के तौर पर देखें. ज़्यादा जानकारी के लिए, कस्टम रिपोर्ट मैनेज करना देखें.

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

  1. नीचे बताए गए तरीके से, कस्टम रिपोर्ट पेज पर जाएं.

    Edge

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

    1. apigee.com/edge में साइन इन करें.
    2. बाएं नेविगेशन बार में विश्लेषण करें > कस्टम रिपोर्ट > रिपोर्ट चुनें.

    क्लासिक एज (प्राइवेट क्लाउड)

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

    1. http://ms-ip:9000 में साइन इन करें. यहां ms-ip, मैनेजमेंट सर्वर नोड का आईपी पता या डीएनएस नाम है.
    2. सबसे ऊपर मौजूद नेविगेशन बार में Analytics > रिपोर्ट चुनें.

  2. कस्टम रिपोर्ट पेज में, +कस्टम रिपोर्ट पर क्लिक करें.
  3. रिपोर्ट का नाम बताएं, जैसे कि mybookreport.
  4. पहले से मौजूद कोई मेट्रिक चुनें, जैसे कि ट्रैफ़िक और कोई एग्रीगेट फ़ंक्शन, जैसे कि योग.

    या, स्टैटिस्टिकल कलेक्शन नीति का इस्तेमाल करके बनाए गए डेटा के आंकड़ों में से कोई एक चुनें. उदाहरण के लिए, ratingscount और Sum का एग्रीगेट फ़ंक्शन चुनें.

  5. कोई बिल्ट-इन डाइमेंशन चुनें, जैसे कि एपीआई प्रॉक्सी या कोई भी ऐसी स्ट्रिंग या न्यूमेरिक डेटा चुनें जिन्हें आपने स्टैटिस्टिक्सर नीति का इस्तेमाल करके बनाया है.

    उदाहरण के लिए, booktitle चुनें. अब आपकी रिपोर्ट में, booktitle के हिसाब से कुल ratingscount दिखेगा:

    किताब की कस्टम रिपोर्ट
  6. सेव करें को चुनें. यह रिपोर्ट, सभी कस्टम रिपोर्ट की सूची में दिखती है.
  7. रिपोर्ट चलाने के लिए, रिपोर्ट का नाम चुनें. डिफ़ॉल्ट रूप से, रिपोर्ट में पिछले एक घंटे का डेटा दिखता है.

  8. समयसीमा सेट करने के लिए, ऊपर दाएं कोने में तारीख को दिखाने की सुविधा चुनें और तारीख चुनने वाला पॉप-अप खोलें.
  9. पिछले सात दिन चुनें. हर किताब की कुल रेटिंग दिखाने के लिए, रिपोर्ट अपडेट की जाती है:

    किताब की रिपोर्ट का चार्ट

Edge API का इस्तेमाल करके आंकड़े पाना

अपने कस्टम ऐनलिटिक्स डेटा के आंकड़ों के लिए Edge मेट्रिक एपीआई का इस्तेमाल करें. नीचे दिए गए अनुरोध के उदाहरण में:

  • /stats के बाद मौजूद यूआरएल का रिसॉर्स, पसंद के डाइमेंशन के बारे में बताता है. इस उदाहरण में, आपको booktitle डाइमेंशन के लिए डेटा मिला है.
  • वापस पाने के लिए metrics तय करने के लिए, select क्वेरी पैरामीटर. इस अनुरोध से, ratingscount के कुल योग के हिसाब से आंकड़े मिलते हैं.
  • timeRange पैरामीटर, दिखाए गए डेटा के लिए टाइम इंटरवल की जानकारी देता है. समयसीमा इस फ़ॉर्मैट में है:

    MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM

पूरा एपीआई कॉल है:

curl -X GET "https://api.enterprise.apigee.com/v1/organizations/org_name/environments/env_name/stats/booktitle?select=sum(ratingscount)&timeRange=04/21/2019&2014:00:00~04/22/2019&2014:00:00" /
-u email:password

आपको फ़ॉर्म में जवाब दिखेगा:

{
  "environments": [
    {
      "dimensions": [
        {
          "metrics": [
            {
              "name": "sum(ratingscount)",
              "values": [
                "5352.0"
              ]
            }
          ],
          "name": "gone girl"
        },
        {
          "metrics": [
            {
              "name": "sum(ratingscount)",
              "values": [
                "4260.0"
              ]
            }
          ],
          "name": "davinci code"
        },
        {
          "metrics": [
            {
              "name": "sum(ratingscount)",
              "values": [
                "1836.0"
              ]
            }
          ],
          "name": "game of thrones"
        },
        {
          "metrics": [
            {
              "name": "sum(ratingscount)",
              "values": [
                "1812.0"
              ]
            }
          ],
          "name": "mobey dick"
        }
      ],
      "name": "prod"
    }
  ],
  "metaData": {
    "errors": [],
    "notices": [
      "query served by:9b372dd0-ed30-4502-8753-73a6b09cc028",
      "Table used: uap-prod-gcp-us-west1.edge.edge_api_raxgroup021_fact",
      "Source:Big Query"
    ]
  }
}

Edge मेट्रिक एपीआई में कई विकल्प हैं. उदाहरण के लिए, नतीजों को बढ़ते या घटते क्रम में लगाया जा सकता है. यहां दिए गए उदाहरण में, बढ़ते क्रम का इस्तेमाल किया गया है:

curl -X GET "https://api.enterprise.apigee.com/v1/organizations/org_name/environments/env_name/stats/booktitle?select=sum(ratingscount)&timeRange=04/21/2019&2014:00:00~04/22/2019&2014:00:00&sort=ASC" /
-u email:password

नतीजों को, पसंद के डाइमेंशन की वैल्यू तय करके भी फ़िल्टर किया जा सकता है. नीचे दिए गए उदाहरण में, रिपोर्ट को "Gone Girl" और "The Da Vinci Code" के नतीजों के हिसाब से फ़िल्टर किया गया है:

$ curl -X GET "https://api.enterprise.apigee.com/v1/organizations/org_name/environments/env_name/stats/booktitle?select=sum(ratingscount)&timeRange=04/21/2019&2014:00:00~04/22/2019&2014:00:00&filter=(booktitle%20in%20'gone%20girl'%2C%20'davinci%20code')" /
-u email:password

सलूशन बिल्डर की मदद से कस्टम ऐनलिटिक्स वैरिएबल बनाना

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

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

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

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

  1. Edge यूज़र इंटरफ़ेस (यूआई) में प्रॉक्सी के लिए 'खास जानकारी' पेज पर जाएं.
  2. डेवलप करें पर क्लिक करें.
  3. डेवलप करें पेज पर, टूल मेन्यू से कस्टम Analytics कलेक्शन चुनें. सलूशन बिल्डर डायलॉग दिखेगा.
  4. सलूशन बिल्डर डायलॉग में, आपको पहले दो नीतियां कॉन्फ़िगर करनी होती हैं: एक्सट्रैक्ट वैरिएबल और स्टैटिस्टिक्स कलेक्टर. इसके बाद, आप कॉन्फ़िगर करते हैं कि उन नीतियों को कहां अटैच किया जाए.
  5. वह डेटा बताएं जिसे आपको एक्सट्रैक्ट करना है:
    • जगह का टाइप: चुनें कि आपको किस तरह का डेटा इकट्ठा करना है और कहां से इकट्ठा करना है. अनुरोध या जवाब वाले हिस्से से डेटा चुना जा सकता है. उदाहरण के लिए, अनुरोध: क्वेरी पैरामीटर या रिस्पॉन्स: एक्सएमएल का मुख्य हिस्सा.
    • लोकेशन सोर्स: उस डेटा की पहचान करें जिसे आपको इकट्ठा करना है. उदाहरण के लिए, क्वेरी पैरामीटर का नाम या रिस्पॉन्स के मुख्य हिस्से में एक्सएमएल डेटा के लिए XPath.
  6. कोई ऐसा वैरिएबल नाम (और टाइप) बताएं जिसका इस्तेमाल आंकड़ा कलेक्टर नीति एक्सट्रैक्ट किए गए डेटा की पहचान करने के लिए करेगी. इस विषय में नाम रखने से जुड़ी पाबंदियां देखें.

    इस्तेमाल किया जाने वाला नाम, डाइमेंशन के ड्रॉपडाउन मेन्यू में या कस्टम रिपोर्ट बिल्डर के यूज़र इंटरफ़ेस (यूआई) में मेट्रिक में दिखेगा.
  7. चुनें कि एपीआई प्रॉक्सी फ़्लो में, एक्सट्रैक्ट वैरिएबल और स्टैटिस्टिक्स कलेक्टर की नीतियों को कहां अटैच करना है. ज़्यादा जानकारी के लिए, "प्रॉक्सीEndpoint रिस्पॉन्स फ़्लो में नीतियां अटैच करें" देखें. चीज़ों को ठीक से काम करने के लिए, नीतियों को एपीआई प्रॉक्सी फ़्लो से सही जगह पर अटैच किया जाना चाहिए. आपको फ़्लो के उस चरण में नीतियों को अटैच करना होगा जहां वैरिएबल को स्कोप के तौर पर शामिल किया गया हो.
  8. ज़्यादा कस्टम वैरिएबल जोड़ने के लिए, +कलेक्टर पर क्लिक करें.
  9. इसके बाद, समाधान बनाएं पर क्लिक करें.

  10. प्रॉक्सी को सेव करें और डिप्लॉय करें.

अब ऊपर बताए गए तरीके से, डेटा के लिए कस्टम रिपोर्ट जनरेट की जा सकती है.