আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন .info- তে যান।
Edge API Analytics প্রতিটি API অনুরোধ এবং প্রতিক্রিয়া থেকে বিভিন্ন ধরণের পরিসংখ্যানগত তথ্য সংগ্রহ ও বিশ্লেষণ করে। এই তথ্য স্বয়ংক্রিয়ভাবে সংগ্রহ করা হয় এবং তারপর Edge UI-তে অথবা মেট্রিক্স API ব্যবহার করে প্রদর্শন করা যেতে পারে। এই পরিসংখ্যান সম্পর্কে আরও তথ্যের জন্য মেট্রিক্স এবং ডাইমেনশন দেখুন।
আপনি আপনার এপিআই প্রক্সি, অ্যাপ, পণ্য বা ডেভেলপারদের জন্য নির্দিষ্ট কাস্টম অ্যানালিটিক্স ডেটাও সংগ্রহ করতে চাইতে পারেন। উদাহরণস্বরূপ, আপনি কোয়েরি প্যারামিটার, রিকোয়েস্ট হেডার, রিকোয়েস্ট ও রেসপন্স বডি, অথবা আপনার এপিআই-তে সংজ্ঞায়িত ভেরিয়েবল থেকে ডেটা সংগ্রহ করতে চাইতে পারেন।
এই টপিকে দেখানো হয়েছে কীভাবে StatisticsCollector পলিসি ব্যবহার করে একটি API রিকোয়েস্ট/রেসপন্স থেকে কাস্টম অ্যানালিটিক্স ডেটা এক্সট্র্যাক্ট করা যায় এবং সেই ডেটা Edge API Analytics-এ ফিড করা যায়। এরপর, Edge UI-তে একটি রিপোর্টের মাধ্যমে অথবা Edge 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" }, ... } }
লক্ষ্য করুন যে, উত্তরের কয়েকটি অংশ বিশেষভাবে চিহ্নিত করা হয়েছে:
- অনুসন্ধানের ফলাফলের সংখ্যা
- গড় বইয়ের রেটিং
- রেটিং সংখ্যা
- বইটির পিডিএফ সংস্করণের প্রাপ্যতা
নিম্নলিখিত বিভাগগুলিতে প্রতিক্রিয়ার এই ক্ষেত্রগুলির জন্য এবং অনুসন্ধানের মানদণ্ড ধারণকারী কোয়েরি প্যারামিটার, q এর জন্য কীভাবে পরিসংখ্যান সংগ্রহ করতে হয় তা বর্ণনা করা হয়েছে।
গুগল বুক এপিআই-এর জন্য একটি এপিআই প্রক্সি তৈরি করুন
গুগল বুক এপিআই-এর জন্য পরিসংখ্যান সংগ্রহ করার আগে, আপনাকে অবশ্যই একটি এজ এপিআই প্রক্সি তৈরি করতে হবে যা এটিকে কল করে। এরপর আপনি গুগল বুক এপিআই-তে আপনার অনুরোধগুলো পাঠানোর জন্য সেই এপিআই প্রক্সিটি ব্যবহার করবেন।
ধাপ ২: একটি এপিআই প্রক্সি তৈরি করুন। এপিআই প্রক্সি তৈরির টিউটোরিয়ালটিতে বর্ণনা করা হয়েছে কীভাবে https://mocktarget.apigee.net এপিআই-কে কল করার জন্য একটি প্রক্সি তৈরি করতে হয়। লক্ষ্য করুন যে, সেই টিউটোরিয়ালে বর্ণিত প্রক্সিটি কল করার জন্য কোনো এপিআই কী-এর প্রয়োজন হয় না।
Google Book API-এর /volumes এন্ডপয়েন্টের জন্য একটি API প্রক্সি তৈরি করতে একই পদ্ধতি ব্যবহার করুন। পদ্ধতির ধাপ ৫-এ, API প্রক্সি তৈরি করার সময়, 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
কাস্টম অ্যানালিটিক্স ডেটা সংগ্রহ করুন
একটি এপিআই অনুরোধ থেকে অ্যানালিটিক্স ডেটা সংগ্রহ করা একটি দুই ধাপের প্রক্রিয়া:
প্রয়োজনীয় ডেটা বের করে একটি ভেরিয়েবলে লিখুন।
Edge API Analytics-এ পাঠানো সমস্ত ডেটা ভেরিয়েবলে সংরক্ষিত মান থেকে আসে। কিছু ডেটা স্বয়ংক্রিয়ভাবে পূর্বনির্ধারিত Edge ফ্লো ভেরিয়েবলে সংরক্ষিত হয়, যেমন API প্রক্সিতে পাঠানো কোয়েরি প্যারামিটারের মান। পূর্বনির্ধারিত ফ্লো ভেরিয়েবল সম্পর্কে আরও জানতে ‘ফ্লো ভেরিয়েবলের ওভারভিউ’ দেখুন।
কোনো অনুরোধ বা প্রতিক্রিয়া থেকে নিজস্ব বিষয়বস্তু বের করে সেই ডেটা একটি ভেরিয়েবলে লেখার জন্য 'এক্সট্র্যাক্ট ভেরিয়েবলস' পলিসি ব্যবহার করুন।
একটি ভেরিয়েবল থেকে Edge API Analytics-এ ডেটা লিখুন।
ভেরিয়েবল থেকে Edge API Analytics-এ ডেটা লেখার জন্য Statistics Collector পলিসিটি ব্যবহার করুন। এই ডেটা পূর্বনির্ধারিত Edge ফ্লো ভেরিয়েবল অথবা Extract Variables পলিসি দ্বারা তৈরি ভেরিয়েবল থেকে আসতে পারে।
পরিসংখ্যানগত ডেটা সংগ্রহ করার পরে, আপনি Edge ম্যানেজমেন্ট UI বা API ব্যবহার করে পরিসংখ্যান পুনরুদ্ধার এবং ফিল্টার করতে পারেন। উদাহরণস্বরূপ, আপনি একটি কাস্টম রিপোর্ট তৈরি করতে পারেন যা প্রতিটি বইয়ের শিরোনামের গড় রেটিং দেখায়, যেখানে বইয়ের শিরোনামটি API-তে পাঠানো কোয়েরি প্যারামিটারের মানের সাথে সঙ্গতিপূর্ণ।
অ্যানালিটিক্স ডেটা এক্সট্র্যাক্ট করতে এক্সট্র্যাক্ট ভেরিয়েবলস পলিসি ব্যবহার করুন।
এপিআই অ্যানালিটিক্সে ডেটা পাঠানোর আগে, অ্যানালিটিক্স ডেটা অবশ্যই এক্সট্র্যাক্ট করে একটি ভেরিয়েবলে সংরক্ষণ করতে হবে; এই ভেরিয়েবলটি হতে পারে এজ (Edge) দ্বারা পূর্বনির্ধারিত কোনো ফ্লো ভেরিয়েবল অথবা আপনার তৈরি করা কাস্টম ভেরিয়েবল। কোনো ভেরিয়েবলে ডেটা লেখার জন্য আপনি এক্সট্র্যাক্ট ভেরিয়েবলস (Extract Variables) পলিসি ব্যবহার করেন।
এক্সট্র্যাক্ট ভ্যারিয়েবলস পলিসি JSONPath বা XPath এক্সপ্রেশন ব্যবহার করে মেসেজ পেলোড পার্স করতে পারে। গুগল বুক এপিআই-এর JSON সার্চ রেজাল্ট থেকে তথ্য এক্সট্র্যাক্ট করতে, একটি JSONPath এক্সপ্রেশন ব্যবহার করুন। উদাহরণস্বরূপ, JSON রেজাল্ট অ্যারের প্রথম আইটেম থেকে averageRating এর মান এক্সট্র্যাক্ট করার জন্য, JSONPath এক্সপ্রেশনটি হলো:
$.items[0].volumeInfo.averageRating
JSONPath-টি মূল্যায়ন করার পর, Extract Variables পলিসিটি নিষ্কাশিত মানটিকে একটি ভেরিয়েবলে লিখে রাখে।
এই উদাহরণে, আপনি এক্সট্র্যাক্ট ভ্যারিয়েবলস পলিসি ব্যবহার করে চারটি ভ্যারিয়েবল তৈরি করেন:
-
responsejson.totalitems -
responsejson.ratingscount -
responsejson.avgrating -
responsejson.pdf
এই ভেরিয়েবলগুলোর ক্ষেত্রে, responsejson হলো ভেরিয়েবল প্রিফিক্স , এবং totalitems , ratingscount , avgrating ও pdf হলো ভেরিয়েবলের নাম ।
নিচের এক্সট্র্যাক্ট ভ্যারিয়েবলস পলিসিটি দেখায় কিভাবে JSON রেসপন্স থেকে ডেটা এক্সট্র্যাক্ট করে কাস্টম ভ্যারিয়েবলে লিখতে হয়। প্রতিটি <Variable> এলিমেন্ট name অ্যাট্রিবিউট ব্যবহার করে, যা কাস্টম ভ্যারিয়েবলের নাম এবং সংশ্লিষ্ট JSONPath এক্সপ্রেশন নির্দিষ্ট করে। <VariablePrefix> এলিমেন্টটি ভ্যারিয়েবলের প্রিফিক্স নির্দিষ্ট করে।
Edge UI-তে আপনার API প্রক্সিতে এই পলিসিটি যোগ করুন। আপনি যদি XML-এ API প্রক্সি তৈরি করেন, তাহলে /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>
অ্যানালিটিক্স সার্ভিসে ডেটা লেখার জন্য স্ট্যাটিস্টিকস কালেক্টর পলিসি ব্যবহার করুন।
ভেরিয়েবল থেকে Edge API Analytics-এ ডেটা লেখার জন্য Statistics Collector পলিসি ব্যবহার করুন। Statistics Collectory পলিসিটির গঠন নিম্নরূপ:
<StatisticsCollector> <DisplayName>Statistics Collector-1</DisplayName> <Statistics> <Statistic name="statName" ref="varName" type="dataType">defVal</Statistic> … </Statistics> </StatisticsCollector>
যেখানে:
- statName একটি কাস্টম রিপোর্টে পরিসংখ্যানগত ডেটা উল্লেখ করার জন্য ব্যবহৃত নামটি নির্দিষ্ট করে।
- varName সেই ভেরিয়েবলের নাম নির্দিষ্ট করে, যা সংগ্রহ করার জন্য অ্যানালিটিক্স ডেটা ধারণ করে। এই ভেরিয়েবলটি Edge-এর অন্তর্নির্মিত হতে পারে অথবা এটি Extract Variables পলিসি দ্বারা তৈরি একটি কাস্টম ভেরিয়েবলও হতে পারে।
dataType দ্বারা রেকর্ডকৃত ডেটার ধরণ স্ট্রিং, ইন্টিজার, ফ্লোট, লং, ডাবল বা বুলিয়ান হিসেবে নির্দিষ্ট করা হয়।
স্ট্রিং টাইপের ডেটার জন্য, আপনি একটি কাস্টম রিপোর্টে পরিসংখ্যানগত ডেটাকে ডাইমেনশন হিসেবে উল্লেখ করেন। নিউমেরিক্যাল ডেটা টাইপের (ইন্টিজার/ফ্লোট/লং/ডাবল) জন্য, আপনি একটি কাস্টম রিপোর্টে পরিসংখ্যানগত ডেটাকে ডাইমেনশন অথবা মেট্রিক হিসেবে উল্লেখ করেন।
- defValue ঐচ্ছিকভাবে একটি কাস্টম ভেরিয়েবলের জন্য একটি ডিফল্ট মান প্রদান করে, যা API অ্যানালিটিক্সে পাঠানো হয় যদি ভেরিয়েবলটি রিজলভ করা না যায় বা ভেরিয়েবলটি অনির্ধারিত থাকে।
নীচের উদাহরণে, আপনি 'Extract Variables' পলিসি দ্বারা তৈরি ভেরিয়েবলগুলির জন্য ডেটা সংগ্রহ করতে 'Statistics Collector' পলিসি ব্যবহার করেছেন। আপনি প্রতিটি API কলে পাঠানো কোয়েরি প্যারামিটারের মানও সংগ্রহ করেন। পূর্বনির্ধারিত ফ্লো ভেরিয়েবল ব্যবহার করে কোয়েরি প্যারামিটারগুলি রেফারেন্স করুন:
request.queryparam.queryParamName
'q' নামের কোয়েরি প্যারামিটারের জন্য, এটিকে এভাবে উল্লেখ করুন:
request.queryparam.q
Edge UI-তে আপনার API প্রক্সিতে এই পলিসিটি যোগ করুন অথবা, যদি আপনি XML-এ API প্রক্সি তৈরি করেন, /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 প্রতিক্রিয়া প্রবাহের সাথে নীতিমালা সংযুক্ত করুন
সবকিছু সঠিকভাবে কাজ করার জন্য, পলিসিগুলোকে এপিআই প্রক্সি ফ্লো-এর উপযুক্ত স্থানে সংযুক্ত করতে হবে। এই ব্যবহারের ক্ষেত্রে, গুগল বুক এপিআই থেকে প্রতিক্রিয়া পাওয়ার পরে এবং অনুরোধকারী ক্লায়েন্টের কাছে প্রতিক্রিয়া পাঠানোর আগে পলিসিগুলো কার্যকর হতে হবে। অতএব, পলিসিগুলোকে ProxyEndpoint রেসপন্স প্রি-ফ্লো- তে সংযুক্ত করুন।
নীচের উদাহরণ 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>এপিআই প্রক্সি স্থাপন করুন
এই পরিবর্তনগুলি করার পরে, আপনাকে কনফিগার করা এপিআই প্রক্সিটি ডিপ্লয় করতে হবে।
অ্যানালিটিক্স ডেটা পূরণ করুন
আপনার এপিআই প্রক্সি স্থাপন করার পর, এপিআই অ্যানালিটিক্সে ডেটা যুক্ত করার জন্য প্রক্সিটিকে কল করুন। আপনি নিম্নলিখিত কমান্ডগুলি চালিয়ে এটি করতে পারেন, যার প্রতিটিতে একটি ভিন্ন বইয়ের শিরোনাম ব্যবহার করা হয়েছে:
মোবে ডিক:
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 আপনার কাস্টম অ্যানালিটিক্স ডেটা দেখার জন্য দুটি উপায় প্রদান করে:
- Edge UI কাস্টম রিপোর্ট সমর্থন করে, যার মাধ্যমে আপনি আপনার ডেটা গ্রাফিক্যাল চার্টে দেখতে পারেন।
- মেট্রিক্স এপিআই আপনাকে এজ এপিআই-তে REST কল করার মাধ্যমে অ্যানালিটিক্স ডেটা পুনরুদ্ধার করতে দেয়। আপনি এই এপিআই ব্যবহার করে কাস্টম উইজেটের আকারে আপনার নিজস্ব ভিজ্যুয়ালাইজেশন তৈরি করতে পারেন, যা আপনি পোর্টাল বা কাস্টম অ্যাপে এম্বেড করতে পারবেন।
Edge UI ব্যবহার করে পরিসংখ্যানের একটি প্রতিবেদন তৈরি করুন।
কাস্টম রিপোর্ট আপনাকে নির্দিষ্ট এপিআই পরিসংখ্যানের গভীরে গিয়ে আপনার কাঙ্ক্ষিত ডেটা দেখার সুযোগ দেয়। আপনি Edge-এ থাকা যেকোনো মেট্রিক এবং ডাইমেনশন ব্যবহার করে একটি কাস্টম রিপোর্ট তৈরি করতে পারেন। এছাড়াও, আপনি StatisticsCollector পলিসি ব্যবহার করে এক্সট্র্যাক্ট করা যেকোনো অ্যানালিটিক্স ডেটাও ব্যবহার করতে পারেন।
যখন আপনি একটি স্ট্যাটিস্টিকস কালেক্টর পলিসি তৈরি করেন, তখন আপনাকে সংগৃহীত ডেটার ডেটা টাইপ নির্দিষ্ট করতে হয়। স্ট্রিং ডেটা টাইপের জন্য, একটি কাস্টম রিপোর্টে পরিসংখ্যানগত ডেটাকে ডাইমেনশন হিসেবে রেফারেন্স করুন। নিউমেরিক্যাল ডেটা টাইপের (পূর্ণসংখ্যা/ফ্লোট/লং/ডাবল) জন্য, একটি কাস্টম রিপোর্টে পরিসংখ্যানগত ডেটাকে ডাইমেনশন বা মেট্রিক হিসেবে রেফারেন্স করুন। আরও তথ্যের জন্য ‘কাস্টম রিপোর্ট পরিচালনা’ দেখুন।
Edge UI ব্যবহার করে একটি কাস্টম রিপোর্ট তৈরি করা:
- নীচে বর্ণিত পদ্ধতি অনুসারে কাস্টম রিপোর্ট পৃষ্ঠাটি অ্যাক্সেস করুন।
প্রান্ত
Edge UI ব্যবহার করে কাস্টম রিপোর্ট পেজ অ্যাক্সেস করতে:
- apigee.com/edge- এ সাইন ইন করুন।
- বাম নেভিগেশন বার থেকে Analyze > Custom Reports > Reports নির্বাচন করুন।
ক্লাসিক এজ (প্রাইভেট ক্লাউড)
ক্লাসিক এজ UI ব্যবহার করে কাস্টম রিপোর্ট পেজ অ্যাক্সেস করতে:
-
http:// ms-ip :9000এ সাইন ইন করুন, যেখানে ms-ip হলো ম্যানেজমেন্ট সার্ভার নোডের আইপি অ্যাড্রেস বা ডিএনএস নেম। উপরের নেভিগেশন বার থেকে অ্যানালিটিক্স > রিপোর্ট নির্বাচন করুন।
- কাস্টম রিপোর্ট পেজে, +কাস্টম রিপোর্ট- এ ক্লিক করুন।
- একটি রিপোর্টের নাম নির্দিষ্ট করুন, যেমন mybookreport ।
একটি বিল্ট-ইন মেট্রিক , যেমন ট্র্যাফিক , এবং একটি অ্যাগ্রিগেট ফাংশন , যেমন সাম , নির্বাচন করুন।
অথবা, StatisticsCollector পলিসি ব্যবহার করে আপনার তৈরি করা সংখ্যাসূচক ডেটা পরিসংখ্যানগুলোর মধ্যে একটি নির্বাচন করুন। উদাহরণস্বরূপ, ratingscount এবং Sum নামক একটি Aggregate ফাংশন নির্বাচন করুন।
একটি বিল্ট-ইন ডাইমেনশন , যেমন এপিআই প্রক্সি , অথবা StatisticsCollector পলিসি ব্যবহার করে আপনার তৈরি করা যেকোনো স্ট্রিং বা নিউমেরিক স্ট্যাটিস্টিকস নির্বাচন করুন।
উদাহরণস্বরূপ, বইয়ের শিরোনাম নির্বাচন করুন। আপনার রিপোর্টে এখন বইয়ের শিরোনাম অনুযায়ী রেটিং সংখ্যার যোগফল প্রদর্শিত হবে:

- সংরক্ষণ নির্বাচন করুন। রিপোর্টটি সমস্ত কাস্টম রিপোর্টের তালিকায় প্রদর্শিত হবে।
রিপোর্টটি চালানোর জন্য, রিপোর্টের নামটি নির্বাচন করুন। ডিফল্টরূপে, রিপোর্টটি গত এক ঘণ্টার ডেটা দেখায়।
- সময়সীমা নির্ধারণ করতে, উপরের ডান কোণায় থাকা তারিখ প্রদর্শন বিকল্পটি নির্বাচন করলে তারিখ নির্বাচক পপ-আপটি খুলবে।
গত ৭ দিন নির্বাচন করুন। রিপোর্টটি আপডেট হয়ে প্রতিটি বইয়ের শিরোনামের রেটিং-এর যোগফল দেখাবে:

Edge API ব্যবহার করে পরিসংখ্যান পান
আপনার নিজস্ব অ্যানালিটিক্স ডেটার পরিসংখ্যান জানতে Edge মেট্রিক্স API ব্যবহার করুন। নিচের উদাহরণ অনুরোধটি দেখুন:
-
/statsপরের URL-এর রিসোর্সটি কাঙ্ক্ষিত ডাইমেনশন নির্দিষ্ট করে। এই উদাহরণে, আপনি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 মেট্রিক্স 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
সলিউশন বিল্ডার ব্যবহার করে কাস্টম অ্যানালিটিক্স ভেরিয়েবল তৈরি করা
সলিউশন বিল্ডার আপনাকে একটি সহজে ব্যবহারযোগ্য ম্যানেজমেন্ট UI ডায়ালগের মাধ্যমে কাস্টম অ্যানালিটিক্স ভেরিয়েবল তৈরি করার সুযোগ দেয়।
আপনি পূর্ববর্তী বিভাগ ‘কাস্টম অ্যানালিটিক্স ডেটা সংগ্রহ করুন’ পড়তে পারেন, যেখানে ব্যাখ্যা করা হয়েছে কিভাবে ‘এক্সট্র্যাক্ট ভ্যারিয়েবলস’ এবং ‘স্ট্যাটিস্টিকস কালেক্টর’ পলিসিগুলো একসাথে কাজ করে এজ এপিআই অ্যানালিটিক্স-এ কাস্টম ভ্যারিয়েবল সরবরাহ করে। আপনি দেখতে পাবেন, ইউআই (UI) এই একই প্যাটার্ন অনুসরণ করে, তবে এটি আপনাকে ইউআই-এর মাধ্যমেই সবকিছু কনফিগার করার একটি সুবিধাজনক উপায় প্রদান করে। আপনি চাইলে, ম্যানুয়ালি পলিসি সম্পাদনা ও সংযুক্ত করার পরিবর্তে ইউআই ব্যবহার করে গুগল বুকস এপিআই উদাহরণটি চেষ্টা করে দেখতে পারেন।
সলিউশন বিল্ডার ডায়ালগ আপনাকে সরাসরি UI-তে অ্যানালিটিক্স ভেরিয়েবল কনফিগার করার সুযোগ দেয়। এই টুলটি পলিসি তৈরি করে এবং আপনার জন্য সেগুলোকে এপিআই প্রক্সির সাথে সংযুক্ত করে। পলিসিগুলো রিকোয়েস্ট বা রেসপন্স থেকে প্রয়োজনীয় ভেরিয়েবল সংগ্রহ করে এবং সংগৃহীত ভেরিয়েবলগুলো এজ এপিআই অ্যানালিটিক্স-এ পাঠিয়ে দেয়।
সলিউশন বিল্ডার নতুন এক্সট্র্যাক্ট ভ্যারিয়েবলস এবং স্ট্যাটিস্টিকস কালেক্টর পলিসি তৈরি করে এবং সেগুলোকে অনন্য নাম দেয়। কোনো নির্দিষ্ট প্রক্সি রিভিশনে একবার এই পলিসিগুলো তৈরি হয়ে গেলে, সলিউশন বিল্ডার আপনাকে সেগুলো পরিবর্তন করার সুযোগ দেয় না। পরিবর্তন করতে, তৈরি হওয়া পলিসিগুলো সরাসরি পলিসি এডিটর থেকে সম্পাদনা করুন।
- Edge UI-তে আপনার প্রক্সির ওভারভিউ পৃষ্ঠায় যান।
- ডেভেলপ-এ ক্লিক করুন।
- ডেভেলপ পেজে, টুলস মেনু থেকে কাস্টম অ্যানালিটিক্স কালেকশন নির্বাচন করুন। সলিউশন বিল্ডার ডায়ালগ বক্সটি প্রদর্শিত হবে।
- সলিউশন বিল্ডার ডায়ালগে, আপনাকে প্রথমে দুটি পলিসি কনফিগার করতে হবে: এক্সট্র্যাক্ট ভ্যারিয়েবলস এবং স্ট্যাটিস্টিকস কালেক্টর। এরপর, সেই পলিসিগুলো কোথায় সংযুক্ত করা হবে, তা কনফিগার করতে হবে।
- যে ডেটা আপনি বের করতে চান তা নির্দিষ্ট করুন:
- অবস্থানের ধরণ: আপনি কোন ধরনের ডেটা সংগ্রহ করতে চান এবং কোথা থেকে তা সংগ্রহ করবেন, তা নির্বাচন করুন। আপনি অনুরোধ (request) বা প্রতিক্রিয়া (response) দিক থেকে ডেটা নির্বাচন করতে পারেন। উদাহরণস্বরূপ, অনুরোধ: কোয়েরি প্যারামিটার (Query Parameter) অথবা প্রতিক্রিয়া: এক্সএমএল বডি (XML Body)।
- উৎসের অবস্থান: আপনি যে ডেটা সংগ্রহ করতে চান তা শনাক্ত করুন। উদাহরণস্বরূপ, কোয়েরি প্যারামিটারের নাম অথবা রেসপন্স বডিতে থাকা XML ডেটার জন্য XPath।
- একটি ভেরিয়েবলের নাম (এবং টাইপ) নির্দিষ্ট করুন যা স্ট্যাটিস্টিকস কালেক্টর পলিসি নিষ্কাশিত ডেটা শনাক্ত করতে ব্যবহার করবে। এই টপিকে নামকরণের সীমাবদ্ধতাগুলো দেখুন।
আপনার ব্যবহৃত নামটি কাস্টম রিপোর্ট বিল্ডার UI-এর ডাইমেনশন বা মেট্রিক্স- এর ড্রপডাউন মেনুতে প্রদর্শিত হবে। - এপিআই প্রক্সি ফ্লো-এর কোন পর্যায়ে আপনি তৈরি করা পলিসি 'এক্সট্র্যাক্ট ভ্যারিয়েবলস' এবং 'স্ট্যাটিস্টিকস কালেক্টর' সংযুক্ত করতে চান, তা বেছে নিন। নির্দেশনার জন্য, " প্রক্সিএন্ডপয়েন্ট রেসপন্স ফ্লো-তে পলিসি সংযুক্ত করুন " দেখুন। সবকিছু সঠিকভাবে কাজ করার জন্য, পলিসিগুলোকে অবশ্যই এপিআই প্রক্সি ফ্লো-এর উপযুক্ত স্থানে সংযুক্ত করতে হবে। আপনাকে ফ্লো-এর এমন একটি পর্যায়ে পলিসিগুলো সংযুক্ত করতে হবে যেখানে আপনি যে ভ্যারিয়েবলগুলো সংগ্রহ করছেন সেগুলো স্কোপের মধ্যে (অর্থাৎ ডেটাযুক্ত) থাকে।
- আরও কাস্টম ভেরিয়েবল যোগ করতে +Collector-এ ক্লিক করুন।
আপনার কাজ শেষ হলে, 'Build Solution'-এ ক্লিক করুন।

- প্রক্সিটি সংরক্ষণ ও স্থাপন করুন।
আপনি এখন উপরে বর্ণিত ডেটা ব্যবহার করে একটি কাস্টম রিপোর্ট তৈরি করতে পারবেন।