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

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

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

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

इस विषय में, StatisticsCollector नीति का इस्तेमाल करके, एपीआई अनुरोध/जवाब से कस्टम आंकड़ों का डेटा निकालने और उस डेटा को 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 फ़्लो वैरिएबल में अपने-आप सेव हो जाता है. जैसे, एपीआई प्रॉक्सी को पास किए गए क्वेरी पैरामीटर की वैल्यू. पहले से तय किए गए फ़्लो वैरिएबल के बारे में ज़्यादा जानने के लिए, फ़्लो वैरिएबल की खास जानकारी देखें.

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

  2. इस कुकी का इस्तेमाल, वैरिएबल से Edge API Analytics में डेटा लिखने के लिए किया जाता है.

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

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

आंकड़ों का डेटा निकालने के लिए, Extract Variables नीति का इस्तेमाल करना

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

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

$.items[0].volumeInfo.averageRating

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

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

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

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

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

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

<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 सेवा में डेटा लिखने के लिए, Statistics Collector नीति का इस्तेमाल करना

किसी वैरिएबल से Edge API Analytics में डेटा लिखने के लिए, Statistics Collector नीति का इस्तेमाल करें. आंकड़े इकट्ठा करने से जुड़ी नीति इस तरह से लागू होती है:

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

कहां:

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

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

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

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

request.queryparam.queryParamName

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

request.queryparam.q

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

<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>

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

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

नीचे दिए गए ProxyEndpoint कॉन्फ़िगरेशन का उदाहरण, सबसे पहले 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 

Gone Girl:

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 में, कस्टम ऐनलिटिक्स डेटा को देखने के दो तरीके हैं:

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

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

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

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

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

  1. कस्टम रिपोर्ट पेज को ऐक्सेस करें. इसके बारे में यहां बताया गया है.

    Edge

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

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

    Classic Edge (Private Cloud)

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

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

  2. कस्टम रिपोर्ट पेज पर, +कस्टम रिपोर्ट पर क्लिक करें.
  3. रिपोर्ट का नाम डालें. जैसे, mybookreport.
  4. कोई बिल्ट-इन मेट्रिक चुनें. जैसे, ट्रैफ़िक. इसके बाद, कोई एग्रीगेट फ़ंक्शन चुनें. जैसे, जोड़.

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

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

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

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

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

    किताब के बारे में रिपोर्ट करने वाला चार्ट

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

अपने कस्टम Analytics डेटा के आंकड़ों के लिए, Edge metrics API का इस्तेमाल करें. अनुरोध के इस उदाहरण में:

  • /stats के बाद यूआरएल में मौजूद संसाधन, मनचाहा डाइमेंशन तय करता है. इस उदाहरण में, आपको booktitle डाइमेंशन का डेटा मिलता है.
  • 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 Metrics API में कई विकल्प उपलब्ध हैं. उदाहरण के लिए, नतीजों को बढ़ते या घटते क्रम में लगाया जा सकता है. यहां दिए गए उदाहरण में, ऊपर जाने वाले क्रम का इस्तेमाल किया गया है:

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

Solution Builder की मदद से कस्टम Analytics वैरिएबल बनाना

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

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

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

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

  1. Edge UI में, अपने प्रॉक्सी के लिए खास जानकारी देने वाले पेज पर जाएं.
  2. Develop पर क्लिक करें.
  3. Develop पेज पर, Tools मेन्यू में जाकर Custom Analytics Collection चुनें. इसके बाद, आपको Solution Builder डायलॉग दिखेगा.
  4. Solution Builder डायलॉग बॉक्स में, सबसे पहले दो नीतियां कॉन्फ़िगर करें: वैरिएबल निकालें और आंकड़े इकट्ठा करने वाला. इसके बाद, यह कॉन्फ़िगर किया जाता है कि उन नीतियों को कहां अटैच करना है.
  5. वह डेटा डालें जिसे आपको निकालना है:
    • जगह की जानकारी का टाइप: वह डेटा टाइप चुनें जिसे आपको इकट्ठा करना है. साथ ही, यह भी चुनें कि आपको उसे कहां से इकट्ठा करना है. अनुरोध या जवाब के तौर पर मिले डेटा को चुना जा सकता है. उदाहरण के लिए, अनुरोध: क्वेरी पैरामीटर या जवाब: एक्सएमएल बॉडी.
    • जगह की जानकारी का सोर्स: वह डेटा चुनें जिसे आपको इकट्ठा करना है. उदाहरण के लिए, क्वेरी पैरामीटर का नाम या रिस्पॉन्स बॉडी में मौजूद XML डेटा के लिए XPath.
  6. उस वैरिएबल का नाम (और टाइप) तय करें जिसका इस्तेमाल, Statistics Collector नीति के तहत निकाले गए डेटा की पहचान करने के लिए किया जाएगा. इस विषय में, नाम रखने से जुड़ी पाबंदियां देखें.

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

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

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