কাস্টম অ্যানালিটিক্স ব্যবহার করে API মেসেজের কন্টেন্ট বিশ্লেষণ করা

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

Edge API Analytics প্রতিটি API অনুরোধ ও উত্তর থেকে বিভিন্ন ধরনের পরিসংখ্যান সংক্রান্ত তথ্য সংগ্রহ ও বিশ্লেষণ করে। এই তথ্য অটোমেটিক সংগ্রহ করা হয় এবং তারপরে Edge UI-তে বা মেট্রিক্স API ব্যবহার করে দেখানো যেতে পারে। এইসব পরিসংখ্যান সম্পর্কে আরও তথ্য পেতে মেট্রিক্স ও ডাইমেনশন দেখুন।

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

এই বিষয়ে দেখানো হয়েছে যে কীভাবে API অনুরোধ/উত্তর থেকে কাস্টম অ্যানালিটিক্স ডেটা এক্সট্র্যাক্ট করতে এবং সেই ডেটা Edge API Analytics-এ ফিড করতে StatisticsCollector নীতি ব্যবহার করতে হয়। তারপর, Edge UI-তে বা Edge API ব্যবহার করে কীভাবে আপনার অ্যানালিটিক্স ডেটা একটি রিপোর্টে দেখতে পাবেন তা দেখানো হয়।

Google Book API সম্পর্কে

এই বিষয়ে বর্ণনা করা হয়েছে যে কীভাবে 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"
    },
...
   }
  }

লক্ষ্য করুন যে উত্তরের বিভিন্ন অংশ হাইলাইট করা হয়েছে:

  • সার্চ ফলাফলের সংখ্যা
  • বইয়ের গড় রেটিং
  • রেটিংয়ের সংখ্যা
  • বইয়ের পিডিএফ ভার্সনের উপলভ্যতা

নিম্নলিখিত বিভাগে, কীভাবে উত্তরের এই অংশগুলির জন্য এবং সার্চের শর্তাবলী থাকা কোয়েরি প্যারামিটার, q-এর জন্য পরিসংখ্যান সংগ্রহ করতে হয় তা বর্ণনা করা হয়েছে।

Google Book API-এর জন্য API প্রক্সি তৈরি করা

Google Book API-এর জন্য পরিসংখ্যান সংগ্রহ করার আগে, আপনাকে অবশ্যই একটি Edge API প্রক্সি তৈরি করতে হবে যা সেটিকে কল করে। তারপরে, Google Book API-তে অনুরোধ করার জন্য আপনি সেই API প্রক্সি ইনভোক করেন।

ধাপ ২: API প্রক্সি তৈরি করুন। API প্রক্সি তৈরি করার টিউটোরিয়ালে কীভাবে এমন একটি প্রক্সি তৈরি করতে হয় তা বর্ণনা করা হয়েছে যা https://mocktarget.apigee.net API-কে কল করে। মনে রাখবেন, সেই টিউটোরিয়ালে বর্ণিত প্রক্সি কল করার জন্য কোনও API কী প্রয়োজন হয় না।

/volumes endpoint-এর জন্য API প্রক্সি তৈরি করতে একই পদ্ধতি ব্যবহার করুন Google Book API. প্রক্রিয়ার ৫ নম্বর ধাপে, API প্রক্সি তৈরি করার সময়, Google Books API-কে রেফারেন্স করার জন্য নিম্নলিখিত প্রপার্টি সেট করুন:

  • প্রক্সির নাম: "mybooksearch"
  • প্রক্সি বেস পাথ: "/mybooksearch"
  • আগে থেকে থাকা API: "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

কাস্টম অ্যানালিটিক্স ডেটা সংগ্রহ করা

API অনুরোধ থেকে অ্যানালিটিক্স ডেটা সংগ্রহ করা হল দুটি ধাপের প্রসেস:

  1. আগ্রহের ডেটা এক্সট্র্যাক্ট করে তা ভেরিয়েবলে লিখুন।

    Edge API Analytics-এ পাস করা সব ডেটা ভেরিয়েবলে সেভ করা ভ্যালু থেকে আসে। কিছু ডেটা আগে থেকে সংজ্ঞায়িত Edge ফ্লো ভেরিয়েবলে অটোমেটিক স্টোর করা হয়, যেমন API প্রক্সি থেকে পাস করা কোয়েরি প্যারামিটারের ভ্যালু। আগে থেকে সংজ্ঞায়িত ফ্লো ভেরিয়েবল সম্পর্কে আরও জানতে, ফ্লো ভেরিয়েবলের ওভারভিউ দেখুন।

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

  2. Edge API Analytics-এ কোনও ভেরিয়েবল থেকে ডেটা লেখা।

    Edge API Analytics-এ ভেরিয়েবল থেকে ডেটা লেখার জন্য পরিসংখ্যান সংগ্রহকারী নীতি ব্যবহার করুন। ডেটা আগে থেকে সংজ্ঞায়িত করা Edge ফ্লো ভেরিয়েবল, অথবা Extract Variables নীতির মাধ্যমে তৈরি করা ভেরিয়েবল থেকে আসতে পারে।

পরিসংখ্যান সংক্রান্ত ডেটা সংগ্রহ করার পরে, আপনি Edge ম্যানেজমেন্ট UI বা API ব্যবহার করে পরিসংখ্যান পুনরুদ্ধার ও ফিল্টার করতে পারবেন। যেমন, আপনি এমন একটি কাস্টম রিপোর্ট তৈরি করতে পারেন যা প্রতিটি বইয়ের নামের গড় রেটিং দেখায়, যেখানে বইয়ের নাম API-তে পাস করা কোয়েরি প্যারামিটারের মানের সাথে সম্পর্কিত।

অ্যানালিটিক্স ডেটা এক্সট্র্যাক্ট করতে Extract Variables নীতি ব্যবহার করুন

API Analytics-এ পাঠানোর আগে, Analytics ডেটা অবশ্যই Edge-এর আগে থেকে সংজ্ঞায়িত ফ্লো ভেরিয়েবল বা আপনার সংজ্ঞায়িত কাস্টম ভেরিয়েবলে এক্সট্র্যাক্ট ও সেভ করতে হবে। ভেরিয়েবেলে ডেটা লিখতে, আপনি ভেরিয়েবেল এক্সট্র্যাক্ট করার নীতি ব্যবহার করেন।

Extract Variables নীতি JSONPath বা XPath এক্সপ্রেশন সহ মেসেজ পেলোড পার্স করতে পারে। Google Book API-এর JSON সার্চ ফলাফল থেকে তথ্য এক্সট্র্যাক্ট করতে, JSONPath এক্সপ্রেশন ব্যবহার করুন। যেমন, JSON results অ্যারের প্রথম আইটেম থেকে averageRating-এর ভ্যালু এক্সট্র্যাক্ট করতে, JSONPath এক্সপ্রেশন হল:

$.items[0].volumeInfo.averageRating

JSONPath মূল্যায়ন করার পরে, Extract Variables নীতি এক্সট্র্যাক্ট করা ভ্যালু একটি ভেরিয়েবলে লেখে।

এই উদাহরণে, আপনি চারটি ভেরিয়েবল তৈরি করতে 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>

Analytics পরিষেবায় ডেটা লেখার জন্য Statistics Collector নীতি ব্যবহার করা

Edge API Analytics-এ ভেরিয়েবল থেকে ডেটা লেখার জন্য পরিসংখ্যান সংগ্রহকারী নীতি ব্যবহার করুন। পরিসংখ্যান সংগ্রহকারী নীতিতে নিম্নলিখিত ফর্ম থাকে:

<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 কাস্টম ভেরিয়েবলের জন্য ঐচ্ছিকভাবে একটি ডিফল্ট ভ্যালু প্রদান করুন, যা ভেরিয়েবল সমাধান করা না গেলে বা ভেরিয়েবলটি অনির্দিষ্ট হলে API Analytics-এ পাঠানো হয়।

নিচের উদাহরণে, 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 রেসপন্স ফ্লোতে নীতি অ্যাটাচ করা

জিনিসপত্র সঠিকভাবে কাজ করার জন্য, নীতিগুলিকে উপযুক্ত লোকেশনে API প্রক্সি ফ্লোতে অ্যাটাচ করতে হবে। এই ব্যবহারের ক্ষেত্রে, Google Book 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>

API প্রক্সি ডেপ্লয় করা

এইসব পরিবর্তন করার পরে, আপনাকে কনফিগার করা API প্রক্সি ডেপ্লয় করতে হবে।

অ্যানালিটিক্স ডেটা পপুলেট করা

আপনার API প্রক্সি ডেপ্লয় করার পরে, API 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  

Game of Thrones:

curl https://org_name-env_name.apigee.net/mybooksearch?q=game%20of%20thrones   

অ্যানালিটিক্স ডেটা দেখা

Edge আপনার কাস্টম অ্যানালিটিক্স ডেটা দেখার দুটি উপায় প্রদান করে:

  • Edge UI কাস্টম রিপোর্ট কাজ করে যা আপনাকে গ্রাফিক্যাল চার্টে ডেটা দেখতে দেয়।
  • মেট্রিক্স API আপনাকে Edge API-তে REST কল করে অ্যানালিটিক্স ডেটা রিট্রিভ করতে দেয়। আপনি কাস্টম উইজেট হিসেবে নিজের ভিজ্যুয়ালাইজেশন তৈরি করতে API ব্যবহার করতে পারেন যা আপনি পোর্টাল বা কাস্টম অ্যাপে এম্বেড করতে পারেন।

Edge UI ব্যবহার করে পরিসংখ্যানের রিপোর্ট তৈরি করা

কাস্টম রিপোর্ট আপনাকে নির্দিষ্ট API পরিসংখ্যানের মধ্যে ড্রিল-ডাউন করতে দেয় যাতে আপনি ঠিক সেই ডেটা দেখতে পারেন যা আপনি দেখতে চান। Edge-এ বিল্ট-ইন যেকোনও মেট্রিক ও ডাইমেনশন ব্যবহার করে আপনি কাস্টম রিপোর্ট তৈরি করতে পারবেন। এছাড়াও, আপনি StatisticsCollector নীতি ব্যবহার করে এক্সট্র্যাক্ট করা যেকোনও অ্যানালিটিক্স ডেটা ব্যবহার করতে পারবেন।

আপনি কোনও Statistics Collector নীতি তৈরি করলে, সংগ্রহ করা ডেটার ডেটা টাইপ নির্দিষ্ট করেন। স্ট্রিং ডেটা টাইপের জন্য, কাস্টম রিপোর্টে ডাইমেনশন হিসেবে পরিসংখ্যান সংক্রান্ত ডেটা রেফারেন্স করুন। সংখ্যাসূচক ডেটার ধরনের (পূর্ণসংখ্যা/ফ্লোট/লং/ডাবল) জন্য, কাস্টম রিপোর্টে ডাইমেনশন বা মেট্রিক হিসেবে পরিসংখ্যানগত তারিখের রেফারেন্স দিন। আরও জানতে কাস্টম রিপোর্ট ম্যানেজ করা দেখুন।

Edge UI ব্যবহার করে কাস্টম রিপোর্ট তৈরি করা:

  1. নিচে বর্ণিত পদ্ধতি অনুযায়ী কাস্টম রিপোর্ট পৃষ্ঠা অ্যাক্সেস করুন।

    Edge

    Edge UI ব্যবহার করে কাস্টম রিপোর্ট পৃষ্ঠা অ্যাক্সেস করতে:

    1. apigee.com/edge লিঙ্কে গিয়ে সাইন-ইন করুন।
    2. বাঁদিকের নেভিগেশন বার থেকে বিশ্লেষণ করুন > কাস্টম রিপোর্ট > রিপোর্ট বিকল্প বেছে নিন।

    ক্লাসিক Edge (প্রাইভেট ক্লাউড)

    ক্লাসিক Edge UI ব্যবহার করে কাস্টম রিপোর্ট পৃষ্ঠা অ্যাক্সেস করতে:

    1. http://ms-ip:9000-এ সাইন-ইন করুন, যেখানে ms-ip হল ম্যানেজমেন্ট সার্ভার নোডের IP অ্যাড্রেস বা DNS নাম।
    2. উপরের নেভিগেশন বারে Analytics > রিপোর্ট বিকল্প বেছে নিন।

  2. কাস্টম রিপোর্ট পৃষ্ঠায়, +কাস্টম রিপোর্ট বিকল্পে ক্লিক করুন।
  3. রিপোর্টের নাম উল্লেখ করুন, যেমন mybookreport।
  4. বিল্ট-ইন মেট্রিক বেছে নিন, যেমন ট্রাফিক, এবং এগ্রিগেট ফাংশন, যেমন যোগফল।

    অথবা, StatisticsCollector নীতি ব্যবহার করে আপনার তৈরি করা সংখ্যাসূচক ডেটা পরিসংখ্যানের মধ্যে একটি বেছে নিন। যেমন, ratingscount এবং Sum-এর এগ্রিগেট ফাংশন বেছে নিন।

  5. বিল্ট-ইন ডাইমেনশন বেছে নিন, যেমন API প্রক্সি অথবা StatisticsCollector নীতি ব্যবহার করে আপনার তৈরি করা যেকোনও স্ট্রিং বা নিউমেরিক পরিসংখ্যান।

    যেমন, booktitle বেছে নিন। আপনার রিপোর্টে এখন booktitle অনুযায়ী ratingscount-এর যোগফল দেখানো হবে:

    কাস্টম বুক রিপোর্ট
  6. সেভ করুন বিকল্প বেছে নিন। সব কাস্টম রিপোর্টের তালিকায় রিপোর্টটি দেখা যাবে।
  7. রিপোর্ট রান করাতে, রিপোর্টের নাম বেছে নিন। ডিফল্ট হিসেবে, রিপোর্টে গত এক ঘণ্টার ডেটা দেখানো হয়।

  8. সময়সীমা সেট করতে, উপরে ডানদিকের কোণে দেখানো তারিখ বেছে নিয়ে তারিখ বাছাইকারী পপ-আপ খুলুন।
  9. শেষ ৭ দিন বিকল্প বেছে নিন। প্রতিটি বইয়ের নামের জন্য রেটিংয়ের যোগফল দেখাতে রিপোর্ট আপডেট করা হয়:

    বইয়ের রিপোর্ট চার্ট

Edge API ব্যবহার করে পরিসংখ্যান পাওয়া

আপনার কাস্টম অ্যানালিটিক্স ডেটা সংক্রান্ত পরিসংখ্যান পেতে Edge মেট্রিক্স API ব্যবহার করুন। নিচে অনুরোধের যে উদাহরণ দেওয়া হয়েছে:

  • /stats-এর পরে URL-এর রিসোর্স থেকে কাঙ্ক্ষিত ডাইমেনশন নির্দিষ্ট করা হয়। এই উদাহরণে, আপনি booktitle ডাইমেনশনের জন্য ডেটা পাবেন।
  • ফেরত পাওয়ার জন্য মেট্রিক নির্দিষ্ট করতে select কোয়েরি প্যারামিটার। এই অনুরোধ ratingscount-এর যোগফলের উপর ভিত্তি করে অ্যানালিটিক্স রিটার্ন করে।
  • timeRange প্যারামিটার, রিটার্ন করা ডেটার জন্য সময়সীমা নির্দিষ্ট করে। সময়সীমা এই ফর্ম্যাটে আছে:

    MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM

সম্পূর্ণ 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" /
-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

Solution Builder-এর মাধ্যমে কাস্টম অ্যানালিটিক্স ভেরিয়েবল তৈরি করা

Solution Builder আপনাকে সহজে ব্যবহারযোগ্য ম্যানেজমেন্ট UI ডায়ালগের মাধ্যমে কাস্টম অ্যানালিটিক্স ভেরিয়েবল তৈরি করতে দেয়।

আপনি হয়ত আগের বিভাগ কাস্টম অ্যানালিটিক্স ডেটা সংগ্রহ করা পড়তে চাইবেন, যা ব্যাখ্যা করে কীভাবে Extract Variables এবং Statistics Collector নীতি Edge API Analytics-এ কাস্টম ভেরিয়েবল ফিড করার জন্য একসাথে কাজ করে। আপনি দেখতে পাবেন যে UI একই প্যাটার্ন ফলো করে, কিন্তু UI-এর মাধ্যমে সম্পূর্ণভাবে জিনিস কনফিগার করার একটি সুবিধাজনক উপায় প্রদান করে। আপনি চাইলে, ম্যানুয়ালি এডিট ও নীতি অ্যাটাচ করার পরিবর্তে UI ব্যবহার করে Google Books API-এর উদাহরণ ব্যবহার করে দেখুন।

'সমাধান বিল্ডার' ডায়ালগ আপনাকে সরাসরি UI-তে অ্যানালিটিক্স ভেরিয়েবল কনফিগার করতে দেয়। এই টুল নীতি তৈরি করে এবং আপনার জন্য API প্রক্সির সাথে তা অ্যাটাচ করে। নীতিগুলি অনুরোধ বা উত্তর থেকে আগ্রহজনক ভেরিয়েবল এক্সট্র্যাক্ট করে এবং এক্সট্র্যাক্ট করা ভেরিয়েবলগুলি Edge API অ্যানালিটিক্সে পাস করে।

Solution Builder নতুন Extract Variables এবং Statistics Collector নীতি তৈরি করে এবং সেগুলিকে অনন্য নাম দেয়। কোনও প্রক্সি রিভিশনে তৈরি হয়ে গেলে, Solution Builder আপনাকে এইসব নীতিতে আর কোনও পরিবর্তন করতে দেয় না। পরিবর্তন করতে, নীতি এডিটরে সরাসরি তৈরি হওয়া নীতি এডিট করুন।

  1. Edge UI-তে আপনার প্রক্সির ওভারভিউ পৃষ্ঠায় যান।
  2. ডেভেলপ করুন বিকল্পে ক্লিক করুন।
  3. 'ডেভেলপ' পৃষ্ঠায়, 'টুল' মেনু থেকে কাস্টম অ্যানালিটিক্স সংগ্রহ বিকল্প বেছে নিন। সমাধান বিল্ডার ডায়ালগ দেখা যাবে।
  4. Solution Builder ডায়লগে, আপনি প্রথমে দুটি নীতি কনফিগার করেন: Extract Variables এবং Statistics Collector. তারপর, আপনি সেইসব নীতি কোথায় অ্যাটাচ করবেন তা কনফিগার করেন।
  5. আপনি যে ডেটা এক্সট্র্যাক্ট করতে চান তা উল্লেখ করুন:
    • লোকেশন টাইপ: আপনি যে ধরনের ডেটা সংগ্রহ করতে চান এবং কোথা থেকে সেটি সংগ্রহ করতে চান তা বেছে নিন। আপনি অনুরোধ বা উত্তরের দিক থেকে ডেটা বেছে নিতে পারবেন। যেমন, অনুরোধ: কোয়েরি প্যারামিটার বা উত্তর: XML বডি।
    • লোকেশন সোর্স: আপনি যে ডেটা সংগ্রহ করতে চান তা শনাক্ত করুন। যেমন, কোয়েরি প্যারামিটারের নাম অথবা উত্তর বডিতে XML ডেটার জন্য XPath.
  6. Statistics Collector নীতি এক্সট্র্যাক্ট করা ডেটা শনাক্ত করতে যে ভেরিয়েবল নাম (ও ধরন) ব্যবহার করবে তা নির্দিষ্ট করুন। এই বিষয়ে নামের উপর বিধিনিষেধ দেখুন।

    আপনার ব্যবহার করা নাম কাস্টম রিপোর্ট বিল্ডার UI-তে ডাইমেনশন বা মেট্রিকের ড্রপডাউন মেনুতে দেখা যাবে।
  7. API প্রক্সি ফ্লোতে কোথায় আপনি জেনারেট করা নীতি, Extract Variables ও Statistics Collector অ্যাটাচ করতে চান তা বেছে নিন। নির্দেশাবলী পেতে, "ProxyEndpoint রেসপন্স ফ্লোতে নীতি অ্যাটাচ করুন" দেখুন। জিনিসপত্র সঠিকভাবে কাজ করার জন্য, নীতিগুলিকে উপযুক্ত লোকেশনে API প্রক্সি ফ্লোতে অ্যাটাচ করতে হবে। ফ্লোয়ের এমন একটি পর্যায়ে আপনাকে নীতি অ্যাটাচ করতে হবে যেখানে আপনার ক্যাপচার করা ভেরিয়েবল স্কোপের মধ্যে (পপুলেট করা) থাকে।
  8. আরও কাস্টম ভেরিয়েবল যোগ করতে +কালেক্টর বিকল্পে ক্লিক করুন।
  9. আপনার কাজ হয়ে গেলে, সমাধান তৈরি করুন বিকল্পে ক্লিক করুন।

  10. প্রক্সি সেভ করে ডেপ্লয় করুন।

উপরে যেভাবে বর্ণনা করা হয়েছে, সেইভাবে আপনি এখন ডেটার জন্য কাস্টম রিপোর্ট তৈরি করতে পারবেন।