عیب یابی خطای استقرار خط مشی جمع آوری آمار

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

UnsupportedDatatype

پیغام خطا

استقرار پراکسی API از طریق Edge UI یا Edge management 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}.

نمونه اسکرین شات

علت

اگر نوع متغیر مشخص شده توسط ویژگی ref در عنصر <Statistic> خط مشی Statistics Collector پشتیبانی نمی شود، در این صورت استقرار پراکسی API با شکست مواجه می شود.

انواع داده های پشتیبانی شده string , integer , float , long , double و boolean هستند .

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

تشخیص

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

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

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

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

قطعنامه

اطمینان حاصل کنید که نوع داده متغیرهای مشخص شده توسط ویژگی های ref در عناصر <Statistic> خط مشی Statistics Collector پشتیبانی و معتبر است. به عنوان مثال:

<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 UI یا Edge management 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.

نمونه اسکرین شات

علت

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

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

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

تشخیص

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

    StatisticsCollection: Name: organization conflicts with system defined variables. Context policy: StatCollector.
    
  2. بررسی کنید که نام عنصر <Statistic> مورد استفاده در خط مشی XML ناموفق Statistics Collector با نام مشخص شده در پیام خطا مطابقت داشته باشد (مرحله شماره 1 در بالا). به عنوان مثال، خط مشی زیر نام 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> در خط مشی Statistics Collector با متغیرهای تعریف شده توسط سیستم یکسان نباشد. به عنوان مثال:

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

Datatype Missing

پیغام خطا

استقرار پراکسی API از طریق Edge UI یا Edge management 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}.

نمونه اسکرین شات

علت

اگر نوع متغیر مشخص شده توسط ویژگی ref در عنصر <Statistic> خط مشی Statistics Collector وجود نداشته باشد، در این صورت استقرار پراکسی API با شکست مواجه می شود.

تشخیص

  1. خط مشی Statistics Collector را در پراکسی API خاصی که در آن خرابی رخ داده است، شناسایی کنید.
  2. تعریف هر یک از عناصر <Statistic> را در خط مشی ناموفق Statistics Collector XML بررسی کنید. اگر هر عنصر <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>
  

در مثال سیاست جمع‌آوری آمار که در بالا نشان داده شده است، توجه کنید که ویژگی type برای هر دو عنصر <Statistic> وجود ندارد. بنابراین، استقرار پروکسی API با شکست مواجه می شود.

قطعنامه

اطمینان حاصل کنید که ویژگی نوع متغیر مشخص شده توسط ویژگی ref در عنصر <Statistic> خط مشی Statistics Collector همیشه مشخص شده و از نوع داده پشتیبانی شده است.

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