Pemecahan masalah deployment kebijakan Kolektor Statistik

Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi Apigee X.
info

UnsupportedDatatype

Pesan error

Deployment proxy API melalui UI Edge atau Edge management API gagal dengan pesan error ini:

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

Contoh pesan error

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

Contoh screenshot

Penyebab

Jika jenis variabel yang ditentukan oleh atribut ref di elemen <Statistic> kebijakan Kolektor Statistik tidak didukung, deployment proxy API akan gagal.

Jenis data yang didukung adalah string, integer, float, long, double, dan boolean.

Misalnya, jika jenis variabel ditetapkan sebagai char dalam elemen <Statistic> pada kebijakan Statistics Collector, deployment proxy API akan gagal.

Diagnosis

  1. Identifikasi kebijakan Kolektor Statistik di Proxy API tertentu tempat kegagalan terjadi.
  2. Mengidentifikasi jenis data yang tidak didukung yang digunakan dalam kebijakan Kolektor Statistik. Anda dapat menemukan informasi ini dari pesan error. Misalnya, dalam error berikut, jenis data yang tidak didukung adalah char:

    StatisticsCollection char: Datatype Revision:1;APIProxy:StatCollector;Organization:aprabhashankar-eval;Environment:test is unsupported . Context {2}.
    
  3. Pastikan atribut jenis yang digunakan dalam kebijakan Kolektor Statistik yang gagal cocok dengan jenis data yang diidentifikasi dalam pesan error (langkah #2 di atas). Misalnya, kebijakan berikut menentukan jenis data sebagai char, yang cocok dengan yang ada dalam pesan error:

    <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. Jika atribut jenis bukan jenis data yang didukung, berarti itulah penyebab error.

    Pada contoh kebijakan Kolektor Statistik yang ditampilkan di atas, ingat bahwa atribut type ditetapkan sebagai char, yang tidak didukung. Oleh karena itu, deployment Proxy API gagal dengan error:

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

Resolusi

Pastikan jenis data variabel yang ditentukan oleh atribut referensi di elemen <Statistic> dalam kebijakan Kolektor Statistik didukung dan valid. Contoh:

<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

Pesan error

Deployment proxy API melalui UI Edge atau Edge management API gagal dengan pesan error ini:

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

Contoh pesan error

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

Contoh screenshot

Penyebab

Jika nama yang digunakan untuk merujuk data yang dikumpulkan untuk variabel tertentu yang ditentukan dalam elemen <Statistic> pada kebijakan Kolektor Statistik bertentangan dengan variabel yang ditentukan sistem, deployment proxy API akan gagal.

Beberapa variabel buatan sistem yang diketahui adalah organization dan environment.

Misalnya, jika atribut nama ditentukan sebagai organization dalam elemen <Statistic> pada kebijakan Statistics Collector, deployment proxy API akan gagal.

Diagnosis

  1. Identifikasi kebijakan Kolektor Statistik tempat error terjadi dan nama elemen <Statistic> yang bertentangan dengan variabel yang ditentukan sistem. Anda dapat menemukan kedua item ini dalam pesan error. Misalnya, dalam error berikut, nama kebijakan adalah StatCollector, nama elemen <Statistic> yang bertentangan dengan variabel yang ditentukan sistem adalah organization:

    StatisticsCollection: Name: organization conflicts with system defined variables. Context policy: StatCollector.
    
  2. Pastikan nama elemen <Statistic> yang digunakan dalam XML kebijakan Kolektor Statistik yang gagal cocok dengan nama yang diidentifikasi dalam pesan error (langkah #1 di atas). Misalnya, kebijakan berikut menentukan nama sebagai organization dalam elemen <Statistic>, yang cocok dengan yang ada dalam pesan error:

    <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. Periksa definisi setiap elemen <Statistic>. Jika ada elemen <Statistic> dengan atribut name yang bertentangan dengan variabel sistem, berarti hal tersebut yang menyebabkan error.

Pada contoh kebijakan Kolektor Statistik yang ditampilkan di atas, ingat bahwa atribut nama <Statistic> yang digunakan adalah organization, yang merupakan nama variabel sistem. Oleh karena itu, deployment Proxy API gagal dengan error:

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

Resolusi

Pastikan nama elemen <Statistic> yang digunakan untuk mereferensikan data yang dikumpulkan untuk variabel tertentu yang ditentukan dalam elemen <Statistic> dalam kebijakan Kolektor Statistik tidak sama dengan variabel yang ditentukan sistem. Contoh:

<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

Pesan error

Deployment proxy API melalui UI Edge atau Edge management API gagal dengan pesan error ini:

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

Contoh pesan error

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

Contoh screenshot

Penyebab

Jika jenis variabel yang ditentukan oleh atribut ref dalam elemen <Statistic> pada kebijakan Statistics Collector tidak ada, deployment proxy API akan gagal.

Diagnosis

  1. Identifikasi kebijakan Kolektor Statistik di Proxy API tertentu tempat kegagalan terjadi.
  2. Periksa definisi setiap elemen <Statistic> dalam XML kebijakan Kolektor Statistik yang gagal. Jika ada elemen <Statistic> yang tidak memiliki atribut jenis, berarti itulah penyebab error.

Berikut adalah contoh kebijakan Kolektor Statistik:

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

Pada contoh kebijakan Kolektor Statistik yang ditampilkan di atas, perhatikan bahwa atribut jenis tidak ada untuk kedua elemen <Statistic>. Oleh karena itu, deployment Proxy API gagal.

Resolusi

Pastikan atribut jenis variabel yang ditentukan oleh atribut ref di elemen <Statistic> pada kebijakan Kolektor Statistik selalu ditentukan dan merupakan jenis data yang didukung.

Jenis data yang didukung adalah string, integer, float, long, double, dan boolean.

Contoh:

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