অ্যাসিঙ্ক্রোনাস কাস্টম রিপোর্ট API ব্যবহার করুন

আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশনে যান
তথ্য

এজ অ্যানালিটিক্স ইন্টারেক্টিভ ড্যাশবোর্ড, কাস্টম রিপোর্ট জেনারেটর এবং সম্পর্কিত ক্ষমতাগুলির একটি সমৃদ্ধ সেট সরবরাহ করে। যাইহোক, এই বৈশিষ্ট্যগুলি ইন্টারেক্টিভ হওয়ার উদ্দেশ্যে করা হয়েছে: আপনি হয় একটি API বা UI অনুরোধ জমা দেন এবং অ্যানালিটিক্স সার্ভার একটি প্রতিক্রিয়া প্রদান না করা পর্যন্ত অনুরোধটি অবরুদ্ধ থাকে৷

যাইহোক, বিশ্লেষণের অনুরোধের সময় শেষ হতে পারে যদি সেগুলি সম্পূর্ণ হতে খুব বেশি সময় নেয়। যদি একটি ক্যোয়ারী অনুরোধের জন্য প্রচুর পরিমাণে ডেটা প্রক্রিয়া করার প্রয়োজন হয় (উদাহরণস্বরূপ, 100 এর GB), তাহলে সময় শেষ হওয়ার কারণে এটি ব্যর্থ হতে পারে।

অ্যাসিঙ্ক্রোনাস ক্যোয়ারী প্রসেসিং আপনাকে অনেক বড় ডেটা সেটের জন্য ক্যোয়ারী করতে এবং পরবর্তী সময়ে ফলাফল পুনরুদ্ধার করতে দেয়। আপনি একটি অফলাইন ক্যোয়ারী ব্যবহার করার কথা বিবেচনা করতে পারেন যখন আপনি দেখতে পান যে আপনার ইন্টারেক্টিভ প্রশ্নের সময় শেষ হয়ে গেছে। কিছু পরিস্থিতিতে যখন অ্যাসিঙ্ক্রোনাস কোয়েরি প্রক্রিয়াকরণ একটি ভাল বিকল্প হতে পারে:

  • বিশ্লেষন করা এবং প্রতিবেদন তৈরি করা যা বড় সময়ের ব্যবধানে বিস্তৃত।
  • বিভিন্ন গ্রুপিং মাত্রা এবং অন্যান্য সীমাবদ্ধতার সাথে ডেটা বিশ্লেষণ করা যা ক্যোয়ারীতে জটিলতা যোগ করে।
  • কিছু ব্যবহারকারী বা সংস্থার জন্য ডেটা ভলিউম উল্লেখযোগ্যভাবে বৃদ্ধি পেয়েছে যখন আপনি দেখতে পান যে অনুসন্ধানগুলি পরিচালনা করা।

এই ডকুমেন্ট বর্ণনা করে কিভাবে API ব্যবহার করে একটি অ্যাসিঙ্ক্রোনাস কোয়েরি শুরু করতে হয়। আপনি UI ব্যবহার করতে পারেন, যেমনটি একটি কাস্টম রিপোর্ট চালানোর মধ্যে বর্ণিত হয়েছে।

UI এর সাথে প্রতিবেদনের API তুলনা করা

কাস্টম রিপোর্ট তৈরি এবং পরিচালনা করে কাস্টম রিপোর্ট তৈরি এবং চালানোর জন্য এজ UI কীভাবে ব্যবহার করতে হয় তা বর্ণনা করে। আপনি সেই রিপোর্টগুলি সিঙ্ক্রোনাস বা অ্যাসিঙ্ক্রোনাসভাবে চালাতে পারেন।

UI এর সাথে কাস্টম রিপোর্ট তৈরি করার জন্য বেশিরভাগ ধারণা API ব্যবহার করার ক্ষেত্রে প্রযোজ্য। অর্থাৎ, API-এর সাথে কাস্টম রিপোর্ট তৈরি করার সময় আপনি মেট্রিক্স , মাত্রা এবং এজ-এ তৈরি ফিল্টার এবং StatisticsCollector পলিসি ব্যবহার করে তৈরি করা যেকোনো কাস্টম মেট্রিক্স উল্লেখ করেন।

UI এবং API-তে জেনারেট হওয়া রিপোর্টগুলির মধ্যে প্রধান পার্থক্য হল যে API-এর সাহায্যে তৈরি করা রিপোর্টগুলি UI-তে প্রদর্শিত একটি ভিজ্যুয়াল রিপোর্টের পরিবর্তে CSV বা JSON (নতুন লাইন সীমাবদ্ধ) ফাইলগুলিতে লেখা হয়।

Apigee হাইব্রিড মধ্যে সীমা

Apigee হাইব্রিড ফলাফল ডেটা সেটে একটি 30 MB আকারের সীমা প্রয়োগ করে৷

কিভাবে একটি অ্যাসিঙ্ক্রোনাস অ্যানালিটিক্স কোয়েরি করা যায়

আপনি তিনটি ধাপে অ্যাসিঙ্ক্রোনাস অ্যানালিটিক্স কোয়েরি করেন:

  1. প্রশ্ন জমা দিন .

  2. ক্যোয়ারী স্ট্যাটাস পান

  3. ক্যোয়ারী ফলাফল পুনরুদ্ধার করুন .

ধাপ 1. প্রশ্ন জমা দিন

আপনাকে অবশ্যই /queries API এ একটি POST অনুরোধ পাঠাতে হবে। এই API এজকে পটভূমিতে আপনার অনুরোধ প্রক্রিয়া করতে বলে। যদি কোয়েরি জমা দেওয়া সফল হয়, তাহলে API একটি 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 বডিতে, রিপোর্টটি সংজ্ঞায়িত করে এমন মেট্রিক্স , মাত্রা এবং ফিল্টার উল্লেখ করুন।

নীচে একটি উদাহরণ 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 প্রতিক্রিয়াতে অন্তর্ভুক্ত করা হয়েছে। HTTP স্ট্যাটাস 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",
}

ধাপ 2. ক্যোয়ারী স্ট্যাটাস পান

প্রশ্নের স্থিতির অনুরোধ করতে একটি 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"
}

ধাপ 3. ক্যোয়ারী ফলাফল পুনরুদ্ধার করুন

ক্যোয়ারী স্ট্যাটাস completed হওয়ার পরে, আপনি ফলাফলগুলি পুনরুদ্ধার করতে get ফলাফল API ব্যবহার করতে পারেন, যেখানে ক্যোয়ারী আইডি আবার 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 নামক একটি জিপ ফাইল ডাউনলোড করা হয়।

  • আপনি Chrome ব্রাউজার ব্যবহার করলে, ডাউনলোড স্বয়ংক্রিয়ভাবে গৃহীত হয়।

যদি অনুরোধটি সফল হয়, এবং একটি অ-শূন্য ফলাফল সেট থাকে, ফলাফলটি একটি জিপ করা JSON (নতুন লাইন সীমাবদ্ধ) ফাইল হিসাবে ক্লায়েন্টের কাছে ডাউনলোড করা হয়। ডাউনলোড করা ফাইলটির নাম হবে:

OfflineQueryResult-<query-id>.zip

যেমন:

OfflineQueryResult-9cfc0d85-0f30-46d6-ae6f-318d0cb961bd.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 : (প্রয়োজনীয়) মেট্রিক্সে টেবিল দ্বারা সংজ্ঞায়িত মেট্রিকের নাম।
  • function : (ঐচ্ছিক) avg , min , max , বা sum হিসাবে সমষ্টি ফাংশন।

    সমস্ত মেট্রিক সমস্ত একত্রীকরণ ফাংশন সমর্থন করে না। মেট্রিক্সের ডকুমেন্টেশনে একটি টেবিল রয়েছে যা মেট্রিকের নাম এবং মেট্রিক দ্বারা সমর্থিত ফাংশন ( 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"
  }
]

আরও তথ্যের জন্য, বিশ্লেষণ মেট্রিক্স, মাত্রা এবং ফিল্টার রেফারেন্স দেখুন।

না
dimensions মেট্রিক্স গ্রুপ করার জন্য মাত্রার বিন্যাস। আরও তথ্যের জন্য, সমর্থিত মাত্রার তালিকা দেখুন। আপনি একাধিক মাত্রা নির্দিষ্ট করতে পারেন। না
timeRange প্রশ্নের জন্য সময় পরিসীমা.

আপনি সময় পরিসীমা নির্দিষ্ট করতে নিম্নলিখিত পূর্বনির্ধারিত স্ট্রিং ব্যবহার করতে পারেন:

  • last60minutes
  • last24hours
  • last7days

অথবা, আপনি ISO ফরম্যাটে শুরু এবং শেষের টাইমস্ট্যাম্পগুলিকে বর্ণনা করে একটি কাঠামো হিসাবে timeRange নির্দিষ্ট করতে পারেন: yyyy-mm-dd T hh:mm:ss Z যেমন:

"timeRange": {
    "start": "2018-07-29T00:13:00Z",
    "end": "2018-08-01T00:18:00Z"
}
হ্যাঁ
limit ফলাফলে ফেরানো যেতে পারে এমন সর্বাধিক সংখ্যক সারি। না
filter বুলিয়ান এক্সপ্রেশন যা ডেটা ফিল্টার করতে ব্যবহার করা যেতে পারে। ফিল্টার এক্সপ্রেশনগুলি AND/OR পদ ব্যবহার করে একত্রিত করা যেতে পারে এবং অস্পষ্টতা এড়াতে সম্পূর্ণ বন্ধনী করা উচিত। ফিল্টার করার জন্য উপলব্ধ ক্ষেত্রগুলিতে আরও তথ্যের জন্য অ্যানালিটিক্স মেট্রিক্স, মাত্রা এবং ফিল্টার রেফারেন্স দেখুন। ফিল্টার এক্সপ্রেশন তৈরি করতে আপনি যে টোকেনগুলি ব্যবহার করেন সে সম্পর্কে আরও তথ্যের জন্য, ফিল্টার এক্সপ্রেশন সিনট্যাক্স দেখুন। না
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 স্ট্রিং প্যাটার্ন সরবরাহকৃত প্যাটার্নের সাথে মেলে তাহলে সত্য ফেরত দেয়।

সঠিকভাবে উদাহরণটি নিম্নরূপ মেলে:

- 'বাই' শব্দটি আছে এমন যেকোনো মান

- 'আইটেম' দিয়ে শেষ হওয়া যেকোনো মান

- 'প্রোড' দিয়ে শুরু হওয়া যেকোনো মান

- যেকোনো মান যা 4 দিয়ে শুরু হয়, নোট রেসপন্স_স্ট্যাটাস_কোড হল সাংখ্যিক

(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 বিভিন্ন সম্ভাব্য ফিল্টার এক্সপ্রেশন মূল্যায়ন করতে আপনাকে 'বা' যুক্তি ব্যবহার করতে দেয়। ফিল্টারটি এমন ডেটা অন্তর্ভুক্ত করে যা কমপক্ষে একটি শর্ত পূরণ করে।
(response_size ge 1000) or (response_status_code eq 500)

সীমাবদ্ধতা এবং ডিফল্ট

অ্যাসিঙ্ক্রোনাস ক্যোয়ারী প্রসেসিং বৈশিষ্ট্যের জন্য সীমাবদ্ধতা এবং ডিফল্টগুলির একটি তালিকা নিচে দেওয়া হল।

সীমাবদ্ধতা ডিফল্ট বর্ণনা
ক্যোয়ারী কল সীমা বর্ণনা দেখুন আপনি একটি অ্যাসিঙ্ক্রোনাস রিপোর্ট শুরু করতে /queries ম্যানেজমেন্ট API-এ প্রতি ঘন্টায় সাতটি পর্যন্ত কল করতে পারেন। আপনি কল কোটা অতিক্রম করলে, API একটি HTTP 429 প্রতিক্রিয়া প্রদান করে।
সক্রিয় ক্যোয়ারী সীমা 10 একটি প্রতিষ্ঠান/পরিবেশের জন্য আপনার কাছে 10টি সক্রিয় প্রশ্ন থাকতে পারে।
কোয়েরি সম্পাদনের সময় থ্রেশহোল্ড 6 ঘন্টা যে প্রশ্নগুলি 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"}    
…

আপনি সংগ্রহস্থলে ডেটার মেয়াদ শেষ না হওয়া পর্যন্ত URL থেকে ফলাফল আনতে পারেন। সীমাবদ্ধতা এবং ডিফল্ট দেখুন।

উদাহরণ

উদাহরণ 1: বার্তা গণনার যোগফল

বার্তার যোগফলের জন্য ক্যোয়ারী শেষ 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"
   }
}

উদাহরণ 3: প্রতি মিনিটে লেনদেন

প্রতি মিনিটে লেনদেনের জন্য মেট্রিকে প্রশ্ন (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

metricsExpression.json থেকে বডি অনুরোধ করুন

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

কিভাবে একটি অ্যাসিঙ্ক্রোনাস মনিটাইজেশন রিপোর্ট কোয়েরি করা যায়

আপনি এই বিভাগে বর্ণিত পদক্ষেপগুলি ব্যবহার করে একটি নির্দিষ্ট মানদণ্ডের জন্য একটি নির্দিষ্ট সময়সীমার মধ্যে সমস্ত সফল নগদীকরণ লেনদেন ক্যাপচার করতে পারেন।

অ্যাসিঙ্ক্রোনাস অ্যানালিটিক্স কোয়েরির মতো, আপনি তিনটি ধাপে অ্যাসিঙ্ক্রোনাস মনিটাইজেশন রিপোর্ট কোয়েরি করেন: (1) কোয়েরি জমা দিন, (2) কোয়েরি স্ট্যাটাস পান এবং (3) কোয়েরির ফলাফল পুনরুদ্ধার করুন।

ধাপ 1 , ক্যোয়ারী জমা দেওয়া, নীচে বর্ণিত হয়েছে।

স্টেপ 2 এবং 3 অ্যাসিঙ্ক্রোনাস অ্যানালিটিক্স কোয়েরির মতোই। আরও তথ্যের জন্য, দেখুন কিভাবে একটি অ্যাসিঙ্ক্রোনাস অ্যানালিটিক্স ক্যোয়ারী করা যায়

একটি অ্যাসিঙ্ক্রোনাস মনিটাইজেশন রিপোর্টের জন্য একটি প্রশ্ন জমা দিতে, /mint/organizations/ org_id /async-reports এ একটি POST অনুরোধ জারি করুন।

ঐচ্ছিকভাবে, আপনি environment কোয়েরি প্যারামিটার পাস করে পরিবেশ নির্দিষ্ট করতে পারেন। নির্দিষ্ট করা না থাকলে, ক্যোয়ারী প্যারামিটারটি prod এ ডিফল্ট হয়। যেমন:

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

অনুরোধের অংশে, নিম্নলিখিত অনুসন্ধানের মানদণ্ড উল্লেখ করুন।

নাম বর্ণনা ডিফল্ট প্রয়োজন?
appCriteria একটি নির্দিষ্ট অ্যাপ্লিকেশনের জন্য আইডি এবং সংস্থা প্রতিবেদনে অন্তর্ভুক্ত করতে হবে। এই সম্পত্তি নির্দিষ্ট করা না থাকলে, সমস্ত অ্যাপ্লিকেশন রিপোর্ট অন্তর্ভুক্ত করা হয়. N/A না
billingMonth প্রতিবেদনের জন্য বিলিং মাস, যেমন জুলাই। N/A হ্যাঁ
billingYear প্রতিবেদনের জন্য বিলিং বছর, যেমন 2015। N/A হ্যাঁ
currencyOption প্রতিবেদনের জন্য মুদ্রা। বৈধ মান অন্তর্ভুক্ত:
  • LOCAL - প্রতিবেদনের প্রতিটি লাইন প্রযোজ্য হার পরিকল্পনা ব্যবহার করে প্রদর্শিত হয়। এর মানে হল যে একটি রিপোর্টে একাধিক মুদ্রা থাকতে পারে যদি ডেভেলপারদের পরিকল্পনা থাকে যা বিভিন্ন মুদ্রা ব্যবহার করে।
  • EUR - স্থানীয় মুদ্রার লেনদেন রূপান্তরিত হয় এবং ইউরোতে প্রদর্শিত হয়।
  • GPB - স্থানীয় মুদ্রার লেনদেন ইউনাইটেড কিংডম পাউন্ডে রূপান্তরিত এবং প্রদর্শিত হয়।
  • USD - স্থানীয় মুদ্রার লেনদেন মার্কিন যুক্তরাষ্ট্রের ডলারে রূপান্তরিত এবং প্রদর্শিত হয়।

আপনি যদি EUR, GBP বা USD নির্বাচন করেন, রিপোর্টটি সেই একক মুদ্রা ব্যবহার করে সমস্ত লেনদেন প্রদর্শন করে, লেনদেনের তারিখে কার্যকর বিনিময় হারের উপর ভিত্তি করে।

N/A না
devCriteria

ডেভেলপার আইডি বা ইমেল ঠিকানা, এবং একটি নির্দিষ্ট বিকাশকারীর জন্য সংস্থার নাম প্রতিবেদনে অন্তর্ভুক্ত করতে হবে। এই সম্পত্তি নির্দিষ্ট করা না থাকলে, সমস্ত ডেভেলপার রিপোর্টে অন্তর্ভুক্ত করা হয়।

যেমন:

"devCriteria":[{
    "id":"RtHAeZ6LtkSbEH56",
    "orgId":"my_org"}
]
N/A না
fromDate UTC-তে প্রতিবেদনের শুরুর তারিখ। N/A হ্যাঁ
monetizationPakageIds রিপোর্টে অন্তর্ভুক্ত করার জন্য এক বা একাধিক API প্যাকেজের আইডি। এই সম্পত্তি নির্দিষ্ট করা না থাকলে, সমস্ত API প্যাকেজ রিপোর্টে অন্তর্ভুক্ত করা হয়। N/A না
productIds প্রতিবেদনে অন্তর্ভুক্ত করার জন্য এক বা একাধিক API পণ্যের আইডি। এই সম্পত্তি নির্দিষ্ট করা না থাকলে, সমস্ত API পণ্য রিপোর্ট অন্তর্ভুক্ত করা হয়. N/A না
ratePlanLevels

রেট পরিকল্পনার ধরন প্রতিবেদনে অন্তর্ভুক্ত করা হবে। বৈধ মান অন্তর্ভুক্ত:

  • DEVELOPER - ডেভেলপার রেট প্ল্যান।
  • STANDARD - স্ট্যান্ডার্ড রেট প্ল্যান।

যদি এই সম্পত্তি নির্দিষ্ট করা না থাকে, উভয় ডেভেলপার-নির্দিষ্ট এবং স্ট্যান্ডার্ড রেট প্ল্যান রিপোর্টে অন্তর্ভুক্ত করা হয়।

N/A না
toDate UTC-তে রিপোর্টের শেষ তারিখ। N/A হ্যাঁ

উদাহরণস্বরূপ, নিম্নলিখিত অনুরোধটি নির্দিষ্ট API পণ্য এবং বিকাশকারী আইডির জন্য জুন 2017 মাসের জন্য একটি অ্যাসিঙ্ক্রোনাস নগদীকরণ প্রতিবেদন তৈরি করে৷ fromDate toDate এবং তারিখ থেকে রিপোর্ট করা হয় UTC/GMT এবং সময় অন্তর্ভুক্ত করতে পারে।

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