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

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

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

हालांकि, अगर आंकड़ों के अनुरोधों को पूरा करने में बहुत ज़्यादा समय लगता है, तो उनके लिए समय खत्म हो सकता है. अगर किसी क्वेरी के अनुरोध को ज़्यादा डेटा (जैसे कि 100 जीबी जीबी) को प्रोसेस करना हो, तो हो सकता है कि समय खत्म होने की वजह से वह अनुरोध पूरा न हो पाए.

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

  • बड़े समय के अंतरालों वाली रिपोर्ट का विश्लेषण करना और उन्हें बनाना.
  • अलग-अलग तरह के ग्रुपिंग डाइमेंशन और क्वेरी को मुश्किल बनाने वाली अन्य सीमाओं के साथ डेटा का विश्लेषण करना.
  • जब आपको पता चले कि कुछ उपयोगकर्ताओं या संगठनों के लिए डेटा की संख्या काफ़ी बढ़ गई है, तो उन क्वेरी को मैनेज करना.

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

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

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

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

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

Apigee हाइब्रिड के इस्तेमाल की सीमाएं

Apigee हाइब्रिड, नतीजे के डेटा सेट पर 30 एमबी की सीमा लागू करता है.

एसिंक्रोनस Analytics क्वेरी कैसे बनाएं

एसिंक्रोनस Analytics क्वेरी करने के लिए तीन चरणों का इस्तेमाल किया जाता है:

  1. क्वेरी सबमिट करें.

  2. क्वेरी की स्थिति पाएं.

  3. क्वेरी के नतीजे वापस पाएं.

पहला चरण. क्वेरी सबमिट करें

आपको /queries API पर एक पोस्ट अनुरोध भेजना होगा. यह एपीआई, Edge को बैकग्राउंड में आपके अनुरोध को प्रोसेस करने के बारे में बताता है. अगर क्वेरी सबमिट हो जाती है, तो एपीआई 201 स्टेटस और एक आईडी दिखाता है. इसका इस्तेमाल बाद के चरणों में क्वेरी का हवाला देने के लिए किया जाएगा.

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

curl -X POST -H "Content-Type:application/json"
https://api.enterprise.apigee.com/v1/organizations/myorg/environments/myenv/queries -d @json-query-file
-u orgAdminEmail:password

अनुरोध का मुख्य हिस्सा, क्वेरी का JSON ब्यौरा होता है. JSON के मुख्य हिस्से में, रिपोर्ट तय करने वाले metrics, डाइमेंशन, और फ़िल्टर की जानकारी दें.

यहां json-query-file फ़ाइल का उदाहरण दिया गया है:

{ 
   "metrics":  [
     {
         "name": "message_count",
         "function": "sum",
         "alias": "sum_txn"
    }
        ],
    "dimensions": ["apiproxy"],
    "timeRange": "last24hours",
    "limit": 14400,
    "filter":"(message_count ge 0)"         
}

अनुरोध के मुख्य हिस्से के सिंटैक्स की पूरी जानकारी के लिए, यहां अनुरोध के मुख्य हिस्से के बारे में जानकारी देखें.

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

ध्यान दें कि क्वेरी आईडी 9cfc0d85-0f30-46d6-ae6f-318d0cb961bd को जवाब में शामिल किया गया है. एचटीटीपी स्टेटस 201 के अलावा, enqueued के state का मतलब है कि अनुरोध पूरा हो गया.

HTTP/1.1 201 Created

{  
  "self":"/organizations/myorg/environments/myenv/queries/9cfc0d85-0f30-46d6-ae6f-318d0cb961bd",
  "created":"2018-05-10T07:11:10Z",
  "state":"enqueued",
  "error":"false",
}

दूसरा चरण. क्वेरी का स्टेटस जानना

क्वेरी की स्थिति का अनुरोध करने के लिए, एक GET कॉल करें. आप POST कॉल से मिला क्वेरी आईडी देते हैं. उदाहरण के लिए:

curl -X GET -H "Content-Type:application/json"
https://api.enterprise.apigee.com/v1/organizations/myorg/environments/myenv/queries/9cfc0d85-0f30-46d6-ae6f-318d0cb961bd
-u email:password

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

अगर क्वेरी अब भी जारी है, तो आपको इस तरह का जवाब मिलेगा. इसमें state, running है:

{
    "self": "/organizations/myorg/environments/myenv/queries/1577884c-4f48-4735-9728-5da4b05876ab",
    "state": "running",
    "created": "2018-02-23T14:07:27Z",
    "updated": "2018-02-23T14:07:54Z"
}

क्वेरी पूरी होने के बाद, आपको इस तरह का जवाब दिखेगा. इसमें state को completed पर सेट किया गया है:

{
      "self": "/organizations/myorg/environments/myenv/queries/9cfc0d85-0f30-46d6-ae6f-318d0cb961bd",
      "state": "completed",
      "result": {
        "self": "/organizations/myorg/environments/myenv/queries/9cfc0d85-0f30-46d6-ae6f-318d0cb961bd/result",
        "expires": "2017-05-22T14:56:31Z"
      },
      "resultRows": 1,
      "resultFileSize": "922KB",
      "executionTime": "11 sec",
      "created": "2018-05-10T07:11:10Z",
      "updated": "2018-05-10T07:13:22Z"
}

तीसरा चरण. क्वेरी के नतीजे वापस पाएं

क्वेरी का स्टेटस completed होने के बाद, नतीजे पाने के लिए नतीजे पाएं एपीआई का इस्तेमाल करें. इसमें क्वेरी आईडी एक बार फिर 9cfc0d85-0f30-46d6-ae6f-318d0cb961bd हो जाएगा.

curl -X GET -H "Content-Type:application/json" -O -J https://api.enterprise.apigee.com/v1/organizations/myorg/environments/myenv/queries/9cfc0d85-0f30-46d6-ae6f-318d0cb961bd/result
-u email:password

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

  • cURL का इस्तेमाल करने पर, -O -J के विकल्पों का इस्तेमाल किया जा सकता है, जैसा कि ऊपर दिखाया गया है.

  • अगर पोस्टमैन का इस्तेमाल किया जाता है, तो आपको सेव करें और डाउनलोड करें बटन चुनना होगा. इस स्थिति में, response नाम की एक ZIP फ़ाइल डाउनलोड हो जाती है.

  • अगर Chrome ब्राउज़र का इस्तेमाल किया जाता है, तो डाउनलोड अपने-आप स्वीकार हो जाएगा.

अगर अनुरोध पूरा हो जाता है और नतीजे के लिए कोई वैल्यू सेट नहीं की जाती, तो नतीजे को zip की गई JSON (न्यूलाइन डीलिमिटेड) फ़ाइल के तौर पर क्लाइंट में डाउनलोड किया जाता है. डाउनलोड की गई फ़ाइल का नाम यह होगा:

OfflineQueryResult-<query-id>.zip

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

OfflineQueryResult-9cfc0d85-0f30-46d6-ae6f-318d0cb961bd.zip

ZIP फ़ाइल में, JSON नतीजों की एक .gz संग्रह फ़ाइल मौजूद है. JSON फ़ाइल को ऐक्सेस करने के लिए, डाउनलोड की गई फ़ाइल को अनज़िप करें. इसके बाद, JSON फ़ाइल को एक्सट्रैक्ट करने के लिए, gzip कमांड का इस्तेमाल करें:

unzip OfflineQueryResult-9cfc0d85-0f30-46d6-ae6f-318d0cb961bd.zip
gzip -d QueryResult-9cfc0d85-0f30-46d6-ae6f-318d0cb961bd-000000000000.json.gz

अनुरोध के मुख्य हिस्से के बारे में जानकारी

इस सेक्शन में हर उस पैरामीटर के बारे में बताया गया है जिसे किसी क्वेरी के लिए JSON अनुरोध के मुख्य हिस्से में इस्तेमाल किया जा सकता है. अपनी क्वेरी में इस्तेमाल की जा सकने वाली मेट्रिक और डाइमेंशन के बारे में जानने के लिए, Analytics रेफ़रंस देखें.

{  
   "metrics":[  
      {  
        "name":"metric_name",
        "function":"aggregation_function",
        "alias":"metric_dispaly_name_in_results",
        "operator":"post_processing_operator",
        "value":"post_processing_operand"
      },
   ...
   ],
   "dimensions":[  
      "dimension_name",
      ...
   ],
   "timeRange":"time_range",
   "limit":results_limit,
   "filter":"filter",
   "groupByTimeUnit": "grouping",
   "outputFormat": "format",
   "csvDelimiter": "delimiter"
}
प्रॉपर्टी ब्यौरा ज़रूरी है?
metrics

मेट्रिक की रेंज. ऐसी क्वेरी के लिए एक या उससे ज़्यादा मेट्रिक तय की जा सकती हैं जिसमें हर मेट्रिक शामिल हो. सिर्फ़ मेट्रिक का नाम डालना ज़रूरी है:

  • name: (ज़रूरी है) metrics में मौजूद टेबल में बताई गई मेट्रिक का नाम.
  • function: (ज़रूरी नहीं) avg, min, max या sum के तौर पर एग्रीगेशन फ़ंक्शन.

    सभी मेट्रिक, सभी एग्रीगेशन फ़ंक्शन के साथ काम नहीं करती हैं. metrics के दस्तावेज़ में एक टेबल होती है, जो मेट्रिक का नाम और मेट्रिक के साथ काम करने वाले फ़ंक्शन (avg, min, max,sum) की जानकारी देती है.

  • alias: (ज़रूरी नहीं) आउटपुट में मेट्रिक का डेटा शामिल करने वाली सही जानकारी का नाम. अगर इसे छोड़ दिया जाता है, तो वह डिफ़ॉल्ट रूप से मेट्रिक के नाम के साथ एग्रीगेशन फ़ंक्शन के नाम के साथ जुड़ जाता है.
  • operator: (ज़रूरी नहीं) मेट्रिक की वैल्यू का हिसाब लगाने के बाद, मेट्रिक पर की जाने वाली कार्रवाई. value प्रॉपर्टी के साथ काम करता है. ये कार्रवाइयां की जा सकती हैं: + - / % *.
  • value: (ज़रूरी नहीं) operator के मुताबिक तय की गई मेट्रिक पर लागू की गई वैल्यू.

operator और value प्रॉपर्टी, मेट्रिक पर किए गए पोस्ट-प्रोसेसिंग ऐक्शन को तय करती हैं. उदाहरण के लिए, अगर response_processing_latency मेट्रिक तय की जाती है, तो मेट्रिक, रिस्पॉन्स प्रोसेस होने में लगने वाले औसत समय को मिलीसेकंड की इकाई के हिसाब से दिखाती है. यूनिट को सेकंड में बदलने के लिए, operator को "/" पर और value को ”1000.0“ पर सेट करें:

"metrics":[  
  {  
    "name":"response_processing_latency",
    "function":"avg",
    "alias":"average_response_time_in_seconds",
    "operator":"/",
    "value":"1000"
  }
]

ज़्यादा जानकारी के लिए, Analytics मेट्रिक, डाइमेंशन, और फ़िल्टर रेफ़रंस देखें.

नहीं
dimensions मेट्रिक को ग्रुप करने के लिए डाइमेंशन का कलेक्शन. ज़्यादा जानकारी के लिए, इस्तेमाल किए जा सकने वाले डाइमेंशन की सूची देखें. आपके पास एक से ज़्यादा डाइमेंशन तय करने का विकल्प होता है. नहीं
timeRange क्वेरी के लिए समयसीमा.

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

  • last60minutes
  • last24hours
  • last7days

इसके अलावा, timeRange को एक ऐसे स्ट्रक्चर के तौर पर भी दिखाया जा सकता है जिसमें शुरू और खत्म होने के टाइमस्टैंप को ISO फ़ॉर्मैट में बताया जाए: yyyy-mm-ddThh:mm:ssZ. उदाहरण के लिए:

"timeRange": {
    "start": "2018-07-29T00:13:00Z",
    "end": "2018-08-01T00:18:00Z"
}
हां
limit नतीजे में दिखाई जा सकने वाली पंक्तियों की ज़्यादा से ज़्यादा संख्या. नहीं
filter बूलियन एक्सप्रेशन, जिसका इस्तेमाल डेटा फ़िल्टर करने के लिए किया जा सकता है. फ़िल्टर एक्सप्रेशन को AND/OR शब्दों का इस्तेमाल करके जोड़ा जा सकता है. साथ ही, साफ़ तौर पर जानकारी न देने के लिए, एक्सप्रेशन को पूरी तरह से ब्रैकेट में रखना चाहिए. फ़िल्टर करने के लिए उपलब्ध फ़ील्ड के बारे में ज़्यादा जानकारी के लिए, Analytics मेट्रिक, डाइमेंशन, और फ़िल्टर रेफ़रंस देखें. फ़िल्टर एक्सप्रेशन बनाने के लिए इस्तेमाल किए जाने वाले टोकन के बारे में ज़्यादा जानकारी के लिए, फ़िल्टर एक्सप्रेशन सिंटैक्स देखें. नहीं
groupByTimeUnit नतीजे के सेट को ग्रुप करने के लिए इस्तेमाल की जाने वाली समय इकाई. मान्य वैल्यू में ये शामिल हैं: second, minute, hour, day, week या month.

अगर किसी क्वेरी में groupByTimeUnit शामिल है, तो नतीजा, तय की गई समय की इकाई के आधार पर एग्रीगेशन होता है. साथ ही, नतीजे के टाइमस्टैंप में मिलीसेकंड की सटीक जानकारी शामिल नहीं होती. अगर किसी क्वेरी में groupByTimeUnit को छोड़ दिया जाता है, तो नतीजे के टाइमस्टैंप में मिलीसेकंड सटीक जानकारी शामिल होगी.

नहीं
outputFormat आउटपुट फ़ॉर्मैट. मान्य वैल्यू में ये शामिल हैं: csv या json. यह वैल्यू, न्यूलाइन डीलिमिटेड JSON से संबंधित json पर डिफ़ॉल्ट रूप से सेट होती है.

ध्यान दें: csvDelimiter प्रॉपर्टी का इस्तेमाल करके, CSV आउटपुट के लिए डीलिमिटर कॉन्फ़िगर करें.

नहीं
csvDelimiter अगर outputFormat को csv पर सेट किया गया है, तो CSV फ़ाइल में डीलिमिटर का इस्तेमाल किया जाता है. डिफ़ॉल्ट तौर पर, , (कॉमा) वर्ण होता है. इस्तेमाल किए जा सकने वाले डीलिमिटर वर्णों में कॉमा (,), पाइप (|), और टैब (\t) शामिल हैं. नहीं

फ़िल्टर एक्सप्रेशन सिंटैक्स

इस रेफ़रंस सेक्शन में उन टोकन के बारे में बताया गया है जिनका इस्तेमाल, अनुरोध के मुख्य हिस्से में फ़िल्टर एक्सप्रेशन बनाने के लिए किया जा सकता है. उदाहरण के लिए, नीचे दिया गया एक्सप्रेशन "ge" टोकन (इससे ज़्यादा या इसके बराबर) का इस्तेमाल करता है:

"filter":"(message_count ge 0)"
टोकन ब्यौरा उदाहरण
in सूची में शामिल करें
(apiproxy in 'ethorapi','weather-api')

(apiproxy in 'ethorapi')

(apiproxy in 'Search','ViewItem')

(response_status_code in 400,401,500,501)

ध्यान दें: स्ट्रिंग, कोटेशन में होनी चाहिए.

notin सूची से बाहर रखें
(response_status_code notin 400,401,500,501)
eq (==)) के बराबर
(response_status_code eq 504)

(apiproxy eq 'non-prod')
ne (!=) के बराबर नहीं है
(response_status_code ne 500)

(apiproxy ne 'non-prod')
gt इससे बड़ा है (>)
(response_status_code gt 500)
lt इससे छोटा (<))
(response_status_code lt 500)
ge इससे ज़्यादा या इसके बराबर (>=)
(target_response_code ge 400)
le इससे कम या इसके बराबर (<=))
(target_response_code le 300)
like अगर स्ट्रिंग पैटर्न, दिए गए पैटर्न से मेल खाता है, तो 'सही' दिखाता है.

दाईं ओर के उदाहरण से यह मिलान होता है:

- 'खरीदें' शब्द वाला कोई भी मान

- 'आइटम' पर खत्म होने वाला कोई भी मान

- 'Prod' से शुरू होने वाला कोई भी मान

- 4 से शुरू होने वाला कोई भी वैल्यू. ध्यान दें कि response_status_code अंक वाला होता है

(apiproxy like '%buy%')

(apiproxy like '%item')

(apiproxy like 'Prod%')
not like अगर स्ट्रिंग पैटर्न, दिए गए पैटर्न से मेल खाता है, तो 'गलत' दिखाता है.
(apiproxy not like '%buy%')

(apiproxy not like '%item')

(apiproxy not like 'Prod%')
and इससे आपको 'और' लॉजिक का इस्तेमाल करके, एक से ज़्यादा फ़िल्टर एक्सप्रेशन शामिल करने में मदद मिलती है. फ़िल्टर में सभी शर्तें पूरी करने वाला डेटा शामिल होता है.
(target_response_code gt 399) and (response_status_code ge 400)
or इससे आपको 'or' लॉजिक का इस्तेमाल करके, अलग-अलग संभावित फ़िल्टर एक्सप्रेशन का आकलन करने में मदद मिलती है. फ़िल्टर में ऐसा डेटा शामिल होता है जो कम से कम कोई एक शर्त पूरी करता है.
(response_size ge 1000) or (response_status_code eq 500)

पाबंदियां और डिफ़ॉल्ट

एसिंक्रोनस क्वेरी प्रोसेसिंग सुविधा के लिए सीमाओं और डिफ़ॉल्ट की सूची नीचे दी गई है.

कंस्ट्रेंट डिफ़ॉल्ट ब्यौरा
क्वेरी कॉल सीमा जानकारी देखें एसिंक्रोनस रिपोर्ट शुरू करने के लिए, /queries मैनेजमेंट एपीआई को हर घंटे सात कॉल किए जा सकते हैं. कॉल कोटा पार होने पर एपीआई, एचटीटीपी 429 रिस्पॉन्स भेजता है.
सक्रिय क्वेरी सीमा 10 आपके पास किसी संगठन/एनवायरमेंट के लिए, ज़्यादा से ज़्यादा 10 चालू क्वेरी हो सकती हैं.
क्वेरी एक्ज़ीक्यूशन टाइम थ्रेशोल्ड 6 घंटे छह घंटे से ज़्यादा समय वाली क्वेरी बंद कर दी जाएंगी.
क्वेरी की समय सीमा जानकारी देखें क्वेरी ज़्यादा से ज़्यादा 365 दिनों की हो सकती है.
डाइमेंशन और मेट्रिक की सीमा 25 डाइमेंशन और मेट्रिक की वह ज़्यादा से ज़्यादा संख्या जिसे क्वेरी पेलोड में तय किया जा सकता है.

क्वेरी के नतीजों के बारे में जानकारी

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

{"message_count":"10209","apiproxy":"guest-auth-v3","hour":"2018-08-07 19:26:00 UTC"}
{"message_count":"2462","apiproxy":"carts-v2","hour":"2018-08-06 13:16:00 UTC"}    
…

डेटा स्टोर करने की जगह में मौजूद डेटा की समयसीमा खत्म होने तक, यूआरएल से नतीजे फ़ेच किए जा सकते हैं. सीमाएं और डिफ़ॉल्ट देखें.

उदाहरण

पहला उदाहरण: कुल मैसेज

पिछले 60 मिनट में मैसेज की कुल संख्या के लिए क्वेरी.

क्वेरी

curl -X POST -H "Content-Type: application/json" -H "Accept: application/json"
https://api.enterprise.apigee.com/v1/organizations/myorg/environments/test/queries"
-d @last60minutes.json
-u orgAdminEmail:password

last60minutes.json से अनुरोध का मुख्य हिस्सा

{  
   "metrics":[  
      {  
         "name":"message_count",
         "function":"sum"
      }
   ],
   "dimensions":[  
      "apiproxy"
   ],
   "groupByTimeUnit":"minute",
   "limit":1000,
   "timeRange":"last60minutes"
}

उदाहरण 2: पसंद के मुताबिक समयसीमा

पसंद के मुताबिक समयसीमा का इस्तेमाल करके क्वेरी करें.

क्वेरी

curl -X POST -H "Content-Type: application/json" -H "Accept: application/json"
https://api.enterprise.apigee.com/v1 /organizations/myorg/environments/test/queries"
-d @last60minutes.json
-u orgAdminEmail:password

last60minutes.json से अनुरोध का मुख्य हिस्सा

{  
   "metrics":[  
      {  
         "name":"message_count",
         "function":"sum"
      },
      {  
         "name":"total_response_time",
         "function":"avg",
         "alias":"average_response_time"
      }
   ],
   "dimensions":[  
      "apiproxy"
   ],
   "groupByTimeUnit":"minute",
   "limit":1000,
   "timeRange":{  
      "start":"2018-11-01T11:00:00Z",
      "end":"2018-11-30T11:00:00Z"
   }
}

तीसरा उदाहरण: हर मिनट लेन-देन

हर मिनट लेन-देन (tpm) के लिए मेट्रिक के बारे में क्वेरी.

क्वेरी

curl -X POST -H "Content-Type: application/json" -H "Accept: application/json"
https://api.enterprise.apigee.com/v1/organizations/myorg/environments/test/queries"
-d @tpm.json
-u orgAdminEmail:password

tpm.json से अनुरोध का मुख्य हिस्सा

{  
   "metrics":[  
      {  
         "name":"tpm"
      }
   ],
   "dimensions":[  
      "apiproxy"
   ],
   "groupByTimeUnit":"minute",
   "limit":1000,
   "timeRange":{  
      "start":"2018-07-01T11:00:00Z",
      "end":"2018-07-30T11:00:00Z"
   }
}

सैंपल के तौर पर नतीजा

परिणाम फ़ाइल का उद्धरण:

{"tpm":149995.0,"apiproxy":"proxy_1","minute":"2018-07-06 12:16:00 UTC"}
{"tpm":149998.0,"apiproxy":"proxy_1","minute":"2018-07-09 15:12:00 UTC"}
{"tpm":3.0,"apiproxy":"proxy_2","minute":"2018-07-11 16:18:00 UTC"}
{"tpm":148916.0,"apiproxy":"proxy_1","minute":"2018-07-15 17:14:00 UTC"}
{"tpm":150002.0,"apiproxy":"proxy_1","minute":"2018-07-18 18:11:00 UTC"}
...

उदाहरण 4: फ़िल्टर एक्सप्रेशन का इस्तेमाल करना

बूलियन ऑपरेटर का इस्तेमाल करने वाले फ़िल्टर एक्सप्रेशन वाली क्वेरी.

क्वेरी

curl -X POST -H "Content-Type:application/json"
https://api.enterprise.apigee.com/v1/organizations/myorg/environments/test/queries"
-d @filterCombo.json
-u orgAdminEmail:password

filterCombo.json से अनुरोध का मुख्य हिस्सा

{  
   "metrics":[  
      {  
         "name":"message_count",
         "function":"sum"
      },
      {  
         "name":"total_response_time",
         "function":"avg",
         "alias":"average_response_time"
      }
   ],
   "filter":"(apiproxy ne \u0027proxy_1\u0027) and (apiproxy ne \u0027proxy_2\u0027)",
   "dimensions":[  
      "apiproxy"
   ],
   "groupByTimeUnit":"minute",
   "limit":1000,
   "timeRange":{  
      "start":"2018-11-01T11:00:00Z",
      "end":"2018-11-30T11:00:00Z"
   }
}

उदाहरण 5: मेट्रिक पैरामीटर में एक्सप्रेशन पास करना

ऐसे एक्सप्रेशन वाली क्वेरी जिसे मेट्रिक पैरामीटर के हिस्से के तौर पर पास किया जाता है. आप सिर्फ़ एक-ऑपरेटर वाले आसान एक्सप्रेशन का इस्तेमाल कर सकते हैं.

क्वेरी

curl -X POST -H "Content-Type:application/json"
https://api.enterprise.apigee.com/v1/organizations/myorg/environments/test/queries" 
-d @metricsExpression.json
-u orgAdminEmail:password

metricexpression.json से अनुरोध की गई मुख्य जानकारी

{  
   "metrics":[  
      {  
         "name":"message_count",
         "function":"sum",
         "operator":"/",
         "value":"7"
      }
   ],
   "dimensions":[  
      "apiproxy"
   ],
   "groupByTimeUnit":"minute",
   "limit":10,
   "timeRange":"last60minutes"
}

एसिंक्रोनस कमाई करने की रिपोर्ट क्वेरी कैसे बनाएं

इस सेक्शन में दिया गया तरीका अपनाकर, किसी खास शर्त के लिए किसी समयसीमा में कमाई करने से जुड़े सभी लेन-देन कैप्चर किए जा सकते हैं.

एसिंक्रोनस Analytics क्वेरी की तरह ही, एसिंक्रोनस कमाई करने की रिपोर्ट क्वेरी तीन चरणों में की जाती हैं: (1) क्वेरी सबमिट करें, (2) क्वेरी की स्थिति पाएं, और (3) क्वेरी के नतीजे पाएं.

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

दूसरा और तीसरा चरण, एसिंक्रोनस Analytics क्वेरी के लिए इस्तेमाल किए जाने वाले चरण जैसे ही हैं. ज़्यादा जानकारी के लिए, एसिंक्रोनस Analytics क्वेरी बनाने का तरीका देखें.

एसिंक्रोनस कमाई की रिपोर्ट के लिए क्वेरी सबमिट करने के लिए, /mint/organizations/org_id/async-reports पर पोस्ट करने का अनुरोध जारी करें.

इसके अलावा, environment क्वेरी पैरामीटर को पास करके एनवायरमेंट को तय किया जा सकता है. अगर कोई वैल्यू तय नहीं की गई है, तो क्वेरी पैरामीटर डिफ़ॉल्ट तौर पर prod को दिखाता है. उदाहरण के लिए:

/mint/organizations/org_id/async-reports?environment=prod

अनुरोध के मुख्य हिस्से में, खोज की इन शर्तों के बारे में बताएं.

नाम जानकारी डिफ़ॉल्ट ज़रूरी है?
appCriteria रिपोर्ट में शामिल किए जाने वाले किसी खास ऐप्लिकेशन का आईडी और संगठन. अगर इस प्रॉपर्टी के बारे में नहीं बताया गया है, तो रिपोर्ट में सभी ऐप्लिकेशन शामिल किए जाते हैं. लागू नहीं नहीं
billingMonth रिपोर्ट के लिए बिलिंग महीना, जैसे जुलाई. लागू नहीं हां
billingYear रिपोर्ट के लिए बिलिंग वर्ष, जैसे 2015. लागू नहीं हां
currencyOption रिपोर्ट की मुद्रा. मान्य वैल्यू में ये शामिल हैं:
  • LOCAL - रिपोर्ट की हर लाइन को, लागू रेट प्लान का इस्तेमाल करके दिखाया जाता है. इसका मतलब है कि अगर डेवलपर के प्लान में अलग-अलग मुद्राओं का इस्तेमाल किया जाता है, तो एक रिपोर्ट में कई मुद्राएं हो सकती हैं.
  • EUR - स्थानीय मुद्रा के लेन-देन को यूरो में बदला जाता है और दिखाया जाता है.
  • GPB - स्थानीय मुद्रा के लेन-देन को यूनाइटेड किंगडम पाउंड में बदला जाता है और दिखाया जाता है.
  • USD - स्थानीय मुद्रा में किए जाने वाले लेन-देन को डॉलर में बदला जाता है और दिखाया जाता है.

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

लागू नहीं नहीं
devCriteria

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

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

"devCriteria":[{
    "id":"RtHAeZ6LtkSbEH56",
    "orgId":"my_org"}
]
लागू नहीं नहीं
fromDate यूटीसी में रिपोर्ट जारी होने की तारीख. लागू नहीं हां
monetizationPakageIds रिपोर्ट में शामिल करने के लिए, एक या उससे ज़्यादा एपीआई पैकेज का आईडी. अगर इस प्रॉपर्टी के बारे में जानकारी नहीं दी गई है, तो रिपोर्ट में सभी एपीआई पैकेज शामिल किए जाते हैं. लागू नहीं नहीं
productIds रिपोर्ट में शामिल करने के लिए, एक या उससे ज़्यादा एपीआई प्रॉडक्ट का आईडी. अगर इस प्रॉपर्टी के बारे में जानकारी नहीं दी गई है, तो रिपोर्ट में सभी एपीआई प्रॉडक्ट शामिल किए जाते हैं. लागू नहीं नहीं
ratePlanLevels

रिपोर्ट में शामिल किए जाने वाले रेट प्लान का टाइप. मान्य वैल्यू में ये शामिल हैं:

  • DEVELOPER - डेवलपर के लिए रेट प्लान.
  • STANDARD - स्टैंडर्ड रेट प्लान.

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

लागू नहीं नहीं
toDate यूटीसी में रिपोर्ट खत्म होने की तारीख. लागू नहीं हां

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

curl -H "Content-Type:application/json" -X POST -d \
'{
      "fromDate":"2017-06-01 00:00:00",
      "toDate":"2017-06-30 00:00:00",    
     "productIds": [
        "a_product"
    ],
    "devCriteria": [{
        "id": "AbstTzpnZZMEDwjc",
        "orgId": "myorg"
    }]

 }' \
"https://api.enterprise.apigee.com/v1/mint/organizations/myorg/async-reports?environment=prod" \
-u orgAdminEmail:password