عیب‌یابی خطای پیاده‌سازی خط‌مشی «جمع‌آورنده آمار»

درحال مشاهده اسناد Apigee Edge هستید.
به اسناد Apigee X بروید.
اطلاعات

UnsupportedDatatype

پیام خطا

استقرار پراکسی API ازطریق «واسط کاربر Edge» یا «میانای برنامه‌سازی کاربردی مدیریت Edge» با این پیام خطا ناموفق است:

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}.

نماگرفت نمونه

علت

اگر نوع متغیر مشخص‌شده توسط مشخصه ref در عنصر <Statistic> خط‌مشی «گردآورنده آمار» پشتیبانی نشود، استقرار پراکسی API ناموفق خواهد بود.

انواع داده‌های پشتیبانی‌شده عبارت‌اند از string، integer، float، long، double، و boolean.

برای مثال، اگر نوع متغیر در عنصر <Statistic> خط‌مشی «جمع‌آورنده آمار» به‌عنوان char مشخص شده باشد، استقرار پراکسی API ناموفق خواهد بود.

تشخیص

  1. خط‌مشی «جمع‌آورنده آمار» را در «پراکسی میانای برنامه‌سازی کاربردی» خاصی که در آن خرابی رخ داده است شناسایی کنید.
  2. نوع داده پشتیبانی‌نشده استفاده‌شده در خط‌مشی «جمع‌آورنده آمار» را شناسایی کنید. می‌توانید این اطلاعات را از پیام خطا پیدا کنید. برای مثال، در خطای زیر، نوع داده پشتیبانی‌نشده char است:

    StatisticsCollection char: Datatype Revision:1;APIProxy:StatCollector;Organization:aprabhashankar-eval;Environment:test is unsupported . Context {2}.
    
  3. تأیید کنید که مشخصه نوع استفاده‌شده در خط‌مشی «جمع‌آورنده آمار» ناموفق با نوع داده شناسایی‌شده در پیام خطا مطابقت دارد (مرحله ۲ در بالا). برای مثال، خط‌مشی زیر نوع داده را به‌عنوان 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. اگر مشخصه نوع از نوع داده پشتیبانی‌شده نباشد، این دلیل خطا است.

    در خط‌مشی «جمع‌آورنده آمار» نشان‌داده‌شده در بالا، به‌یاد داشته باشید که مشخصه type روی char تنظیم شده است که پشتیبانی نمی‌شود. بنابراین، استقرار «پراکسی API» با این خطا ناموفق است:

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

وضوح

مطمئن شوید نوع داده متغیرهای مشخص‌شده توسط مشخصه‌های ref در عناصر <Statistic> خط‌مشی «گردآورنده آمار» پشتیبانی‌شده و معتبر باشد. برای مثال:

<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>

InvalidName

پیام خطا

استقرار پراکسی API ازطریق «واسط کاربر Edge» یا «میانای برنامه‌سازی کاربردی مدیریت Edge» با این پیام خطا ناموفق است:

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.

نماگرفت نمونه

علت

اگر نام استفاده‌شده برای ارجاع به داده‌های جمع‌آوری‌شده برای متغیر مشخص‌شده که در عنصر <Statistic> خط‌مشی «جمع‌آورنده آمار» تعریف شده است با متغیر تعریف‌شده سیستم تعارض داشته باشد، استقرار پراکسی API ناموفق خواهد بود.

برخی‌از متغیرهای تعریف‌شده سیستم شناخته‌شده عبارت‌اند از organization و environment.

برای مثال، اگر مشخصه نام در عنصر <Statistic> خط‌مشی «جمع‌آورنده آمار» به‌عنوان organization مشخص شده باشد، استقرار پراکسی API ناموفق خواهد بود.

تشخیص

  1. خط‌مشی «جمع‌آورنده آمار» را که خطا در آن رخ داده است و نام عنصر <Statistic> را که با متغیر تعریف‌شده سیستم تداخل دارد شناسایی کنید. می‌توانید هر دو مورد را در پیام خطا پیدا کنید. برای مثال، در خطای زیر، نام خط‌مشی StatCollector است، نام عنصر <Statistic> که با متغیر تعریف‌شده سیستم تداخل دارد organization است:

    StatisticsCollection: Name: organization conflicts with system defined variables. Context policy: StatCollector.
    
  2. تأیید کنید که نام عنصر <Statistic> استفاده‌شده در XML خط‌مشی «جمع‌آورنده آمار» ناموفق با نام مشخص‌شده در پیام خطا مطابقت دارد (مرحله ۱ در بالا). برای مثال، خط‌مشی زیر نام را به‌عنوان organization در عنصر <Statistic> مشخص می‌کند که با آنچه در پیام خطا است مطابقت دارد:

    <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 آن با متغیر سیستم تداخل داشته باشد، آن عنصر دلیل خطا است.

در خط‌مشی «جمع‌آورنده آمار» مثال نشان‌داده‌شده در بالا، به‌یاد داشته باشید که مشخصه نام <Statistic> استفاده‌شده organization است که اتفاقاً نام متغیر سیستم است. بنابراین، استقرار «پراکسی API» با این خطا ناموفق است:

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

وضوح

مطمئن شوید که نام عنصر <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>

DatatypeMissing

پیام خطا

استقرار پراکسی API ازطریق «واسط کاربر Edge» یا «میانای برنامه‌سازی کاربردی مدیریت Edge» با این پیام خطا ناموفق است:

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}.

نماگرفت نمونه

علت

اگر نوع متغیر مشخص‌شده توسط مشخصه ref در عنصر <Statistic> خط‌مشی «جمع‌آورنده آمار» وجود نداشته باشد، استقرار پراکسی API ناموفق خواهد بود.

تشخیص

  1. خط‌مشی «جمع‌آورنده آمار» را در «پراکسی API» خاصی که خطا در آن رخ داده است شناسایی کنید.
  2. تعریف هریک از <Statistic> عنصر در «زبان نشانه‌گذاری توسعه‌پذیر» خط‌مشی «جمع‌آورنده آمار» ناموفق را بررسی کنید. اگر عنصر <Statistic> وجود داشته باشد که مشخصه نوع آن موجود نباشد، دلیل خطا همین است.

در اینجا نمونه‌ای از خط‌مشی «جمع‌آورنده آمار» آورده شده است:

  <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> وجود ندارد. بنابراین، استقرار «پراکسی میانای برنامه‌سازی کاربردی» ناموفق است.

وضوح

مطمئن شوید که مشخصه نوع متغیر مشخص‌شده توسط مشخصه ref در عنصر <Statistic> خط‌مشی «گردآورنده آمار» همیشه مشخص شده باشد و از نوع داده پشتیبانی‌شده باشد.

انواع داده‌های پشتیبانی‌شده عبارت‌اند از 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>