পরিসংখ্যান সংগ্রাহক নীতি স্থাপনা ত্রুটি সমস্যা সমাধান

আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন
.info- তে যান।

অসমর্থিত ডেটাটাইপ

ত্রুটি বার্তা

Edge UI অথবা Edge ম্যানেজমেন্ট API-এর মাধ্যমে API প্রক্সি স্থাপন করতে গেলে এই ত্রুটি বার্তাটি দেখা দেয়:

Error Deploying Revision [revision_number]
StatisticsCollection [datatype]: Datatype Revision:[revision_number];APIProxy:[api_proxy];Organization:[org_name];Environment:[env_name] is unsupported . Context [context].

ত্রুটির বার্তার উদাহরণ

Error Saving Revision 1
StatisticsCollection char: Datatype Revision:1;APIProxy:StatCollector;Organization:aprabhashankar-eval;Environment:test is unsupported . Context {2}.

উদাহরণ স্ক্রিনশট

কারণ

Statistics Collector পলিসির <Statistic> এলিমেন্টের ref অ্যাট্রিবিউট দ্বারা নির্দিষ্ট ভেরিয়েবলের টাইপ যদি অসমর্থিত হয়, তাহলে API প্রক্সির ডেপ্লয়মেন্ট ব্যর্থ হয়।

সমর্থিত ডেটা টাইপগুলো হলো string , integer , float , long , double এবং boolean

উদাহরণস্বরূপ, যদি Statistics Collector পলিসির <Statistic> এলিমেন্টে ভেরিয়েবলের টাইপ char হিসেবে নির্দিষ্ট করা থাকে, তাহলে API প্রক্সির ডেপ্লয়মেন্ট ব্যর্থ হয়।

রোগ নির্ণয়

  1. যে নির্দিষ্ট এপিআই প্রক্সিতে ব্যর্থতাটি ঘটেছে, সেখানে স্ট্যাটিস্টিকস কালেক্টর পলিসিটি শনাক্ত করুন।
  2. Statistics Collector পলিসিতে ব্যবহৃত অসমর্থিত ডেটা টাইপটি শনাক্ত করুন। আপনি এরর মেসেজ থেকে এই তথ্যটি খুঁজে পেতে পারেন। উদাহরণস্বরূপ, নিম্নলিখিত এররটিতে, অসমর্থিত ডেটা টাইপটি হলো char :

    StatisticsCollection char: Datatype Revision:1;APIProxy:StatCollector;Organization:aprabhashankar-eval;Environment:test is unsupported . Context {2}.
    
  3. যাচাই করুন যে ব্যর্থ হওয়া Statistics Collector পলিসিতে ব্যবহৃত type অ্যাট্রিবিউটটি, এরর মেসেজে (উপরের ধাপ #২) উল্লেখিত ডেটা টাইপের সাথে মেলে কিনা। উদাহরণস্বরূপ, নিম্নলিখিত পলিসিটি ডেটাটাইপ হিসেবে char নির্দিষ্ট করে, যা এরর মেসেজের সাথে মিলে যায়:

    <StatisticsCollector async="false" continueOnError="false" enabled="true" name="Statistics-Collector-1">
      <DisplayName>Statistics Collector 1</DisplayName>
      <Statistics>
          <Statistic name="statName" ref="varName" type="char">defaultStatValue</Statistic>
      </Statistics>
    </StatisticsCollector>
    
  4. যদি টাইপ অ্যাট্রিবিউটটি কোনো সমর্থিত ডেটা টাইপের না হয়, তাহলে সেটাই ত্রুটির কারণ।

    উপরে দেখানো উদাহরণ Statistics Collector পলিসিতে, লক্ষ্য করুন যে type অ্যাট্রিবিউটটি char হিসেবে সেট করা আছে, যা অসমর্থিত। তাই, API Proxy-এর ডেপ্লয়মেন্ট নিম্নলিখিত ত্রুটির সাথে ব্যর্থ হয়:

    StatisticsCollection char: Datatype Revision:1;APIProxy:StatCollector;Organization:aprabhashankar-eval;Environment:test is unsupported . Context {2}.
    

সমাধান

নিশ্চিত করুন যে, Statistics Collector পলিসির <Statistic> এলিমেন্টের ref অ্যাট্রিবিউট দ্বারা নির্দিষ্ট ভেরিয়েবলগুলোর ডেটা টাইপ সমর্থিত এবং বৈধ। উদাহরণস্বরূপ:

<StatisticsCollector async="false" continueOnError="false" enabled="true" name="Statistics-Collector-1">
    <DisplayName>Statistics Collector 1</DisplayName>
    <Statistics>
        <Statistic name="statName" ref="varName" type="string">defaultStatValue</Statistic>
    </Statistics>
</StatisticsCollector>

অবৈধ নাম

ত্রুটি বার্তা

Edge UI অথবা Edge ম্যানেজমেন্ট API-এর মাধ্যমে API প্রক্সি স্থাপন করতে গেলে এই ত্রুটি বার্তাটি দেখা দেয়:

Error Deploying Revision [revision_number]
StatisticsCollection: Name: [name] conflicts with system defined variables. Context policy: [policy_name]

ত্রুটির বার্তার উদাহরণ

Error Saving Revision 1
StatisticsCollection: Name: organization conflicts with system defined variables. Context policy: StatCollector.

উদাহরণ স্ক্রিনশট

কারণ

Statistics Collector পলিসির <Statistic> এলিমেন্টের মধ্যে সংজ্ঞায়িত নির্দিষ্ট ভেরিয়েবলের জন্য সংগৃহীত ডেটা উল্লেখ করতে ব্যবহৃত নামটি যদি কোনো সিস্টেম-সংজ্ঞায়িত ভেরিয়েবলের সাথে সাংঘর্ষিক হয়, তাহলে API প্রক্সির স্থাপন ব্যর্থ হয়।

সিস্টেম-সংজ্ঞায়িত কয়েকটি পরিচিত ভেরিয়েবল হলো organization এবং environment

উদাহরণস্বরূপ, যদি Statistics Collector পলিসির <Statistic> এলিমেন্টে name অ্যাট্রিবিউটটি organization হিসেবে নির্দিষ্ট করা থাকে, তাহলে API প্রক্সির ডেপ্লয়মেন্ট ব্যর্থ হয়।

রোগ নির্ণয়

  1. যে Statistics Collector পলিসিতে ত্রুটিটি ঘটেছে সেটি শনাক্ত করুন এবং <Statistic> এলিমেন্টের নামটি চিহ্নিত করুন যা একটি সিস্টেম-সংজ্ঞায়িত ভেরিয়েবলের সাথে সাংঘর্ষিক। আপনি এই দুটি বিষয়ই ত্রুটির বার্তায় খুঁজে পাবেন। উদাহরণস্বরূপ, নিম্নলিখিত ত্রুটিতে, পলিসির নাম হলো StatCollector , এবং <Statistic> এলিমেন্টের নামটি যা সিস্টেম-সংজ্ঞায়িত ভেরিয়েবলের সাথে সাংঘর্ষিক তা হলো organization :

    StatisticsCollection: Name: organization conflicts with system defined variables. Context policy: StatCollector.
    
  2. যাচাই করুন যে ব্যর্থ হওয়া Statistics Collector পলিসি XML-এ ব্যবহৃত <Statistic> এলিমেন্টের নামটি এরর মেসেজে (উপরের ধাপ #১) উল্লেখিত নামের সাথে মেলে কিনা। উদাহরণস্বরূপ, নিম্নলিখিত পলিসিতে <Statistic> এলিমেন্টে নামটি organization হিসেবে নির্দিষ্ট করা আছে, যা এরর মেসেজের সাথে মিলে যায়:

    <StatisticsCollector name="StatCollector">
      <Statistics>
          <Statistic name="organization" ref="organization" type="string">myorg</Statistic>
          <Statistic name="traffic" ref="traffic" type="string">999999</Statistic>
      </Statistics>
    </StatisticsCollector>
    
  3. প্রতিটি <Statistic> এলিমেন্টের সংজ্ঞা পরীক্ষা করুন। যদি কোনো <Statistic> এলিমেন্টের name অ্যাট্রিবিউট কোনো সিস্টেম ভেরিয়েবলের সাথে সাংঘর্ষিক হয়, তাহলে সেটিই ত্রুটির কারণ।

উপরে দেখানো উদাহরণ Statistics Collector পলিসিতে, লক্ষ্য করুন যে <Statistic> এর name অ্যাট্রিবিউটে organization ব্যবহার করা হয়েছে, যা একটি সিস্টেম ভেরিয়েবলের নাম। ফলে, API Proxy-এর ডেপ্লয়মেন্ট নিম্নলিখিত ত্রুটির সাথে ব্যর্থ হয়:

StatisticsCollection: Name: organization conflicts with system defined variables. Context policy: StatCollector.

সমাধান

নিশ্চিত করুন যে, Statistics Collector পলিসিতে <Statistic> এলিমেন্টের মধ্যে সংজ্ঞায়িত নির্দিষ্ট ভেরিয়েবলের জন্য সংগৃহীত ডেটা রেফারেন্স করতে ব্যবহৃত <Statistic> এলিমেন্টের নামটি সিস্টেম-সংজ্ঞায়িত ভেরিয়েবলগুলোর নামের মতো নয়। উদাহরণস্বরূপ:

<StatisticsCollector name="StatCollector">
    <Statistics>
        <Statistic name="org" ref="org" type="string">myorg</Statistic>
        <Statistic name="traffic" ref="traffic" type="string">999999</Statistic>
    </Statistics>
</StatisticsCollector>

ডেটাটাইপ অনুপস্থিত

ত্রুটি বার্তা

Edge UI অথবা Edge ম্যানেজমেন্ট API-এর মাধ্যমে API প্রক্সি স্থাপন করতে গেলে এই ত্রুটি বার্তাটি দেখা দেয়:

Error Deploying Revision [revision_number]
StatisticsCollection [ref]: Datatype of Revision:[revision_number];APIProxy:[api_proxy];Organization:[org_name];Environment:[env_name] is missing . Context [context].

ত্রুটির বার্তার উদাহরণ

Error Deploying Revision 2 to test
StatisticsCollection product.id: Datatype of Revision:2;APIProxy:StatCollector;Organization:aprabhashankar-eval;Environment:test is missing. Context {2}.

উদাহরণ স্ক্রিনশট

কারণ

Statistics Collector পলিসির <Statistic> এলিমেন্টের ref অ্যাট্রিবিউট দ্বারা নির্দিষ্ট ভেরিয়েবলের টাইপ অনুপস্থিত থাকলে, API প্রক্সির ডেপ্লয়মেন্ট ব্যর্থ হয়।

রোগ নির্ণয়

  1. যে নির্দিষ্ট এপিআই প্রক্সিতে ব্যর্থতাটি ঘটেছে, সেখানে স্ট্যাটিস্টিকস কালেক্টর পলিসিটি শনাক্ত করুন।
  2. ব্যর্থ হওয়া Statistics Collector পলিসি XML-এ থাকা প্রতিটি <Statistic> এলিমেন্টের সংজ্ঞা পরীক্ষা করুন। যদি কোনো <Statistic> এলিমেন্টে type অ্যাট্রিবিউটটি অনুপস্থিত থাকে, তাহলে সেটিই ত্রুটির কারণ।

এখানে একটি পরিসংখ্যান সংগ্রাহক নীতির উদাহরণ দেওয়া হলো:

  <StatisticsCollector name="publishPurchaseDetails"
      <Statistics>
          <Statistic name="productID" ref="product.id">999999</Statistic>
          <Statistic name="price" ref="product.price" type="string">1000</Statistic>
      </Statistics>
  </StatisticsCollector>
  

উপরে দেখানো পরিসংখ্যান সংগ্রাহক পলিসির উদাহরণে লক্ষ্য করুন যে, <Statistic> উভয় এলিমেন্টের ক্ষেত্রেই type অ্যাট্রিবিউটটি অনুপস্থিত। ফলে, এপিআই প্রক্সির ডেপ্লয়মেন্ট ব্যর্থ হয়।

সমাধান

নিশ্চিত করুন যে, Statistics Collector পলিসির <Statistic> এলিমেন্টের ref অ্যাট্রিবিউট দ্বারা নির্দিষ্ট ভেরিয়েবলের type অ্যাট্রিবিউটটি সর্বদা নির্দিষ্ট করা থাকে এবং এটি একটি সমর্থিত ডেটা টাইপের হয়।

সমর্থিত ডেটা টাইপগুলো হলো string , integer , float , long , double এবং boolean

উদাহরণস্বরূপ:

<StatisticsCollector name="publishPurchaseDetails">
    <Statistics>
        <Statistic name="productID" ref="product.id" type="string">999999</Statistic>
        <Statistic name="price" ref="product.price"  type="string">1000</Statistic>
    </Statistics>
</StatisticsCollector>