আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন .info- তে যান।
এজ অ্যানালিটিক্স বিভিন্ন ধরনের ইন্টারেক্টিভ ড্যাশবোর্ড, কাস্টম রিপোর্ট জেনারেটর এবং সংশ্লিষ্ট সুবিধা প্রদান করে। তবে, এই ফিচারগুলো ইন্টারেক্টিভ হওয়ার জন্যই তৈরি করা হয়েছে: আপনি একটি এপিআই (API) বা ইউআই (UI) অনুরোধ জমা দেন এবং অ্যানালিটিক্স সার্ভার থেকে প্রতিক্রিয়া না পাওয়া পর্যন্ত অনুরোধটি ব্লক হয়ে থাকে।
তবে, অ্যানালিটিক্স অনুরোধগুলি সম্পূর্ণ হতে খুব বেশি সময় নিলে টাইম আউট হতে পারে। যদি কোনো কোয়েরি অনুরোধকে বিপুল পরিমাণ ডেটা (উদাহরণস্বরূপ, কয়েকশ জিবি) প্রসেস করতে হয়, তাহলে টাইম আউটের কারণে এটি ব্যর্থ হতে পারে।
অ্যাসিঙ্ক্রোনাস কোয়েরি প্রসেসিং আপনাকে খুব বড় ডেটা সেটের জন্য কোয়েরি করতে এবং পরবর্তীতে ফলাফল পুনরুদ্ধার করতে দেয়। যখন আপনি দেখবেন যে আপনার ইন্টারেক্টিভ কোয়েরিগুলোর সময়সীমা শেষ হয়ে যাচ্ছে, তখন আপনি একটি অফলাইন কোয়েরি ব্যবহার করার কথা ভাবতে পারেন। কিছু পরিস্থিতি যেখানে অ্যাসিঙ্ক্রোনাস কোয়েরি প্রসেসিং একটি ভালো বিকল্প হতে পারে, তার মধ্যে রয়েছে:
- দীর্ঘ সময়কাল জুড়ে থাকা প্রতিবেদন বিশ্লেষণ ও তৈরি করা।
- বিভিন্ন গ্রুপিং ডাইমেনশন এবং অন্যান্য সীমাবদ্ধতা ব্যবহার করে ডেটা বিশ্লেষণ করা, যা কোয়েরিতে জটিলতা যোগ করে।
- যখন দেখা যায় যে কিছু ব্যবহারকারী বা প্রতিষ্ঠানের জন্য ডেটার পরিমাণ উল্লেখযোগ্যভাবে বৃদ্ধি পেয়েছে, তখন কোয়েরিগুলি পরিচালনা করা।
এই ডকুমেন্টে বর্ণনা করা হয়েছে কিভাবে এপিআই (API) ব্যবহার করে অ্যাসিঙ্ক্রোনাস কোয়েরি শুরু করতে হয়। আপনি ইউআই (UI)-ও ব্যবহার করতে পারেন, যেমনটি 'একটি কাস্টম রিপোর্ট চালানো' অংশে বর্ণনা করা হয়েছে।
রিপোর্ট এপিআই-কে ইউআই-এর সাথে তুলনা করা
কাস্টম রিপোর্ট তৈরি ও পরিচালনা অংশে বর্ণনা করা হয়েছে কীভাবে Edge UI ব্যবহার করে কাস্টম রিপোর্ট তৈরি ও চালানো যায়। আপনি সেই রিপোর্টগুলো সিনক্রোনাসলি বা অ্যাসিনক্রোনাসলি চালাতে পারেন।
UI ব্যবহার করে কাস্টম রিপোর্ট তৈরির বেশিরভাগ ধারণা API ব্যবহারের ক্ষেত্রেও প্রযোজ্য। অর্থাৎ, API দিয়ে কাস্টম রিপোর্ট তৈরি করার সময় আপনি Edge-এর বিল্ট-ইন মেট্রিক , ডাইমেনশন ও ফিল্টার এবং StatisticsCollector পলিসি ব্যবহার করে আপনার তৈরি করা যেকোনো কাস্টম মেট্রিক নির্দিষ্ট করে দেন।
UI এবং API-এর মাধ্যমে তৈরি রিপোর্টগুলোর মধ্যে প্রধান পার্থক্য হলো, API-এর মাধ্যমে তৈরি রিপোর্টগুলো UI-তে প্রদর্শিত ভিজ্যুয়াল রিপোর্টের পরিবর্তে CSV বা JSON (নিউলাইন ডিলিমিটেড) ফাইলে লেখা হয়।
অ্যাপিজি হাইব্রিডে সীমাবদ্ধতা
Apigee hybrid ফলাফল ডেটা সেটের উপর ৩০ মেগাবাইট আকারের সীমা আরোপ করে।
কীভাবে একটি অ্যাসিঙ্ক্রোনাস অ্যানালিটিক্স কোয়েরি তৈরি করবেন
আপনি তিনটি ধাপে অ্যাসিঙ্ক্রোনাস অ্যানালিটিক্স কোয়েরি তৈরি করেন:
প্রশ্নটি জমা দিন ।
কোয়েরির অবস্থা জানুন ।
কোয়েরির ফলাফল পুনরুদ্ধার করুন ।
ধাপ ১. কোয়েরিটি জমা দিন।
আপনাকে অবশ্যই /queries API-তে একটি POST রিকোয়েস্ট পাঠাতে হবে। এই API-টি Edge-কে আপনার রিকোয়েস্টটি ব্যাকগ্রাউন্ডে প্রসেস করতে নির্দেশ দেয়। কোয়েরিটি সফলভাবে সাবমিট হলে, API-টি একটি 201 স্ট্যাটাস এবং একটি ID রিটার্ন করে, যা আপনি পরবর্তী ধাপগুলোতে কোয়েরিটিকে উল্লেখ করার জন্য ব্যবহার করবেন।
উদাহরণস্বরূপ:
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",
}
ধাপ ২. কোয়েরির স্ট্যাটাস জানুন।
কোয়েরির অবস্থা জানতে একটি 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নামের একটি জিপ ফাইল ডাউনলোড হবে।আপনি ক্রোম ব্রাউজার ব্যবহার করলে ডাউনলোডটি স্বয়ংক্রিয়ভাবে গৃহীত হয়ে যায়।
অনুরোধটি সফল হলে এবং ফলাফলের মান শূন্য না হলে, ফলাফলটি একটি জিপ করা JSON (নিউলাইন দ্বারা বিভক্ত) ফাইল হিসেবে ক্লায়েন্টে ডাউনলোড করা হয়। ডাউনলোড করা ফাইলটির নাম হবে:
OfflineQueryResult-<query-id>.zip
উদাহরণস্বরূপ:
OfflineQueryResult-9cfc0d85-0f30-46d6-ae6f-318d0cb961bd.zip
জিপ ফাইলটিতে JSON ফলাফলের একটি .gz আর্কাইভ ফাইল রয়েছে। JSON ফাইলটি অ্যাক্সেস করতে, ডাউনলোড করা ফাইলটি আনজিপ করুন, তারপর gzip কমান্ড ব্যবহার করে JSON ফাইলটি এক্সট্র্যাক্ট করুন:
unzip OfflineQueryResult-9cfc0d85-0f30-46d6-ae6f-318d0cb961bd.zip
gzip -d QueryResult-9cfc0d85-0f30-46d6-ae6f-318d0cb961bd-000000000000.json.gzঅনুরোধের মূল অংশ সম্পর্কে
এই বিভাগে এমন প্রতিটি প্যারামিটার বর্ণনা করা হয়েছে যা আপনি একটি কোয়েরির JSON রিকোয়েস্ট বডিতে ব্যবহার করতে পারেন। আপনার কোয়েরিতে ব্যবহারযোগ্য মেট্রিক্স এবং ডাইমেনশন সম্পর্কে বিস্তারিত জানতে, অ্যানালিটিক্স রেফারেন্স দেখুন।
{ "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 | মেট্রিকের অ্যারে। আপনি একটি কোয়েরির জন্য এক বা একাধিক মেট্রিক নির্দিষ্ট করতে পারেন, যেখানে প্রতিটি মেট্রিকের মধ্যে অন্তর্ভুক্ত থাকে। শুধুমাত্র মেট্রিকের নামটি আবশ্যক:
"metrics":[
{
"name":"response_processing_latency",
"function":"avg",
"alias":"average_response_time_in_seconds",
"operator":"/",
"value":"1000"
}
]আরও তথ্যের জন্য, অ্যানালিটিক্স মেট্রিক্স, ডাইমেনশন এবং ফিল্টার রেফারেন্স দেখুন। | না |
dimensions | মেট্রিকগুলোকে শ্রেণিবদ্ধ করার জন্য ডাইমেনশনের অ্যারে। আরও তথ্যের জন্য, সমর্থিত ডাইমেনশনের তালিকা দেখুন। আপনি একাধিক ডাইমেনশন নির্দিষ্ট করতে পারেন। | না |
timeRange | কোয়েরির জন্য সময়সীমা। সময়সীমা নির্দিষ্ট করার জন্য আপনি নিম্নলিখিত পূর্বনির্ধারিত স্ট্রিংগুলো ব্যবহার করতে পারেন:
অথবা, আপনি ISO ফরম্যাটে ( "timeRange": {
"start": "2018-07-29T00:13:00Z",
"end": "2018-08-01T00:18:00Z"
} | হ্যাঁ |
limit | ফলাফলে ফেরত দেওয়া যেতে পারে এমন সারির সর্বোচ্চ সংখ্যা। | না |
filter | বুলিয়ান এক্সপ্রেশন যা ডেটা ফিল্টার করতে ব্যবহার করা যেতে পারে। ফিল্টার এক্সপ্রেশনগুলো AND/OR টার্ম ব্যবহার করে একত্রিত করা যায় এবং অস্পষ্টতা এড়াতে এগুলোকে অবশ্যই সম্পূর্ণ বন্ধনীতে রাখতে হবে। ফিল্টার করার জন্য উপলব্ধ ফিল্ডগুলো সম্পর্কে আরও তথ্যের জন্য অ্যানালিটিক্স মেট্রিক্স, ডাইমেনশন এবং ফিল্টার রেফারেন্স দেখুন। ফিল্টার এক্সপ্রেশন তৈরি করতে ব্যবহৃত টোকেনগুলো সম্পর্কে আরও তথ্যের জন্য, ফিল্টার এক্সপ্রেশন সিনট্যাক্স দেখুন। | না |
groupByTimeUnit | ফলাফল সেটকে শ্রেণিবদ্ধ করতে ব্যবহৃত সময়ের একক। বৈধ মানগুলো হলো: second , minute , hour , day , week বা month । যদি কোনো কোয়েরিতে | না |
outputFormat | আউটপুট ফরম্যাট। বৈধ মানগুলো হলো: csv বা json । ডিফল্ট হিসেবে json ব্যবহৃত হয়, যা নিউলাইন দ্বারা বিভক্ত JSON। দ্রষ্টব্য : | না |
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 | যদি স্ট্রিং প্যাটার্নটি প্রদত্ত প্যাটার্নের সাথে মিলে যায়, তাহলে true রিটার্ন করে। ডানদিকের উদাহরণটি নিম্নরূপভাবে মেলে: - যে কোনো মান যাতে 'buy' শব্দটি আছে যেকোনো মান যা 'item' দিয়ে শেষ হয় যেকোনো মান যা 'Prod' দিয়ে শুরু হয় - ৪ দিয়ে শুরু হওয়া যেকোনো মান, উল্লেখ্য যে 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 ম্যানেজমেন্ট API-তে সর্বোচ্চ সাতটি কল করতে পারেন। আপনি কল কোটা অতিক্রম করলে, API-টি একটি HTTP 429 রেসপন্স ফেরত দেয়। |
| সক্রিয় কোয়েরি সীমা | ১০ | একটি সংস্থা/পরিবেশের জন্য সর্বোচ্চ ১০টি সক্রিয় কোয়েরি থাকতে পারে। |
| কোয়েরি সম্পাদনের সময়সীমা | ৬ ঘন্টা | যেসব কোয়েরি সম্পন্ন হতে ৬ ঘণ্টার বেশি সময় লাগবে, সেগুলো বাতিল করে দেওয়া হবে। |
| কোয়েরির সময়সীমা | বিবরণ দেখুন | একটি কোয়েরির জন্য সর্বোচ্চ অনুমোদিত সময়সীমা হলো ৩৬৫ দিন। |
| মাত্রা এবং মেট্রিক সীমা | ২৫ | কোয়েরি পেলোডে আপনি সর্বাধিক যতগুলো ডাইমেনশন এবং মেট্রিক উল্লেখ করতে পারবেন। |
কোয়েরির ফলাফল সম্পর্কে
নিম্নলিখিতটি 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"}
…
রিপোজিটরিতে থাকা ডেটার মেয়াদ শেষ না হওয়া পর্যন্ত আপনি ইউআরএল থেকে ফলাফল সংগ্রহ করতে পারবেন। সীমাবদ্ধতা এবং ডিফল্টসমূহ দেখুন।
উদাহরণ
উদাহরণ ১: বার্তা সংখ্যার যোগফল
গত ৬০ মিনিটের বার্তা সংখ্যার যোগফল জানতে অনুসন্ধান করুন।
প্রশ্ন
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"
}
উদাহরণ ২: কাস্টম সময়সীমা
নিজস্ব সময়সীমা ব্যবহার করে কোয়েরি করুন।
প্রশ্ন
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"}
...উদাহরণ ৪: ফিল্টার এক্সপ্রেশন ব্যবহার
বুলিয়ান অপারেটর ব্যবহার করে ফিল্টার এক্সপ্রেশনের মাধ্যমে কোয়েরি করুন।
প্রশ্ন
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"
}
}
উদাহরণ ৫: মেট্রিক্স প্যারামিটারে এক্সপ্রেশন পাস করা
মেট্রিক্স প্যারামিটারের অংশ হিসেবে প্রদত্ত একটি এক্সপ্রেশন দিয়ে কোয়েরি করুন। আপনি শুধুমাত্র সরল এক-অপারেটর এক্সপ্রেশন ব্যবহার করতে পারবেন।
প্রশ্ন
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) কোয়েরির ফলাফল সংগ্রহ করুন।
ধাপ ১ , অর্থাৎ অনুসন্ধান জমা দেওয়ার পদ্ধতিটি নিচে বর্ণনা করা হলো।
ধাপ ২ এবং ৩ অ্যাসিঙ্ক্রোনাস অ্যানালিটিক্স কোয়েরির মতোই হুবহু একই। আরও তথ্যের জন্য, “কীভাবে একটি অ্যাসিঙ্ক্রোনাস অ্যানালিটিক্স কোয়েরি তৈরি করবেন” দেখুন।
অ্যাসিঙ্ক্রোনাস মনিটাইজেশন রিপোর্টের জন্য কোয়েরি জমা দিতে, /mint/organizations/ org_id /async-reports এ একটি POST রিকোয়েস্ট পাঠান।
ঐচ্ছিকভাবে, আপনি environment কোয়েরি প্যারামিটারটি পাস করে এনভায়রনমেন্ট নির্দিষ্ট করতে পারেন। যদি নির্দিষ্ট না করা হয়, তাহলে কোয়েরি প্যারামিটারটির ডিফল্ট মান ` prod । উদাহরণস্বরূপ:
/mint/organizations/org_id/async-reports?environment=prod
অনুরোধের মূল অংশে নিম্নলিখিত অনুসন্ধানের মানদণ্ডগুলো উল্লেখ করুন।
| নাম | বর্ণনা | ডিফল্ট | প্রয়োজন? |
appCriteria | রিপোর্টে অন্তর্ভুক্ত করার জন্য একটি নির্দিষ্ট অ্যাপ্লিকেশনের আইডি এবং সংস্থা। যদি এই প্রপার্টিটি নির্দিষ্ট করা না থাকে, তাহলে সমস্ত অ্যাপ্লিকেশন রিপোর্টে অন্তর্ভুক্ত করা হয়। | প্রযোজ্য নয় | না |
billingMonth | রিপোর্টটির বিলিং মাস, যেমন জুলাই। | প্রযোজ্য নয় | হ্যাঁ |
billingYear | রিপোর্টটির বিলিং বছর, যেমন ২০১৫। | প্রযোজ্য নয় | হ্যাঁ |
currencyOption | প্রতিবেদনের জন্য মুদ্রা। বৈধ মানগুলো হলো:
আপনি EUR, GBP বা USD নির্বাচন করলে, রিপোর্টটি লেনদেনের তারিখে কার্যকর বিনিময় হারের ভিত্তিতে সেই একক মুদ্রা ব্যবহার করে করা সমস্ত লেনদেন প্রদর্শন করে। | প্রযোজ্য নয় | না |
devCriteria | রিপোর্টে অন্তর্ভুক্ত করার জন্য একজন নির্দিষ্ট ডেভেলপারের ডেভেলপার আইডি বা ইমেল ঠিকানা এবং প্রতিষ্ঠানের নাম প্রয়োজন। যদি এই প্রপার্টিটি নির্দিষ্ট করা না থাকে, তাহলে সকল ডেভেলপারকে রিপোর্টে অন্তর্ভুক্ত করা হয়। উদাহরণস্বরূপ: "devCriteria":[{
"id":"RtHAeZ6LtkSbEH56",
"orgId":"my_org"}
] | প্রযোজ্য নয় | না |
fromDate | UTC অনুযায়ী প্রতিবেদনের শুরুর তারিখ। | প্রযোজ্য নয় | হ্যাঁ |
monetizationPakageIds | রিপোর্টে অন্তর্ভুক্ত করার জন্য এক বা একাধিক এপিআই প্যাকেজের আইডি। যদি এই প্রপার্টিটি নির্দিষ্ট করা না থাকে, তাহলে সমস্ত এপিআই প্যাকেজ রিপোর্টে অন্তর্ভুক্ত করা হবে। | প্রযোজ্য নয় | না |
productIds | রিপোর্টে অন্তর্ভুক্ত করার জন্য এক বা একাধিক এপিআই পণ্যের আইডি। যদি এই প্রপার্টিটি নির্দিষ্ট করা না থাকে, তাহলে সমস্ত এপিআই পণ্য রিপোর্টে অন্তর্ভুক্ত করা হয়। | প্রযোজ্য নয় | না |
ratePlanLevels | রিপোর্টে অন্তর্ভুক্ত করার জন্য রেট প্ল্যানের ধরন। বৈধ মানগুলো হলো:
এই বৈশিষ্ট্যটি নির্দিষ্ট করা না থাকলে, ডেভেলপার-নির্দিষ্ট এবং সাধারণ উভয় রেট প্ল্যানই রিপোর্টে অন্তর্ভুক্ত করা হয়। | প্রযোজ্য নয় | না |
toDate | ইউটিসি অনুযায়ী প্রতিবেদনের সমাপ্তির তারিখ। | প্রযোজ্য নয় | হ্যাঁ |
উদাহরণস্বরূপ, নিম্নলিখিত অনুরোধটি নির্দিষ্ট এপিআই প্রোডাক্ট এবং ডেভেলপার আইডির জন্য ২০১৭ সালের জুন মাসের একটি অ্যাসিঙ্ক্রোনাস মনিটাইজেশন রিপোর্ট তৈরি করে। রিপোর্টের শুরুর তারিখ fromDate এবং toDate তারিখ (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