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 API pengelolaan Edge 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 dalam elemen <Statistic> kebijakan Pengumpul Statistik tidak didukung, deployment proxy API akan gagal.

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

Misalnya, jika jenis variabel ditentukan sebagai char dalam elemen <Statistic> kebijakan Pengumpul Statistik, deployment proxy API akan gagal.

Diagnosis

  1. Identifikasi kebijakan Pengumpul Statistik di Proxy API tertentu tempat kegagalan terjadi.
  2. Identifikasi jenis data yang tidak didukung yang digunakan dalam kebijakan Pengumpul 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 Pengumpul Statistik yang gagal cocok dengan jenis data yang diidentifikasi dalam pesan error (langkah #2 di atas). Misalnya, kebijakan berikut menentukan tipe 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, maka itulah penyebab errornya.

    Dalam contoh kebijakan Pengumpul Statistik yang ditampilkan di atas, ingatlah 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 ref dalam elemen <Statistic> kebijakan Pengumpul 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 API pengelolaan Edge 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 mereferensikan data yang dikumpulkan untuk variabel yang ditentukan dalam elemen <Statistic> kebijakan Pengumpul Statistik bertentangan dengan variabel yang ditentukan sistem, maka deployment proxy API akan gagal.

Beberapa variabel yang ditentukan sistem yang diketahui adalah organization dan environment.

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

Diagnosis

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

    StatisticsCollection: Name: organization conflicts with system defined variables. Context policy: StatCollector.
    
  2. Verifikasi bahwa nama elemen <Statistic> yang digunakan dalam XML kebijakan Pengumpul 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> yang atribut name-nya bertentangan dengan variabel sistem, maka itulah penyebab errornya.

Dalam contoh kebijakan Pengumpul Statistik yang ditampilkan di atas, ingatlah bahwa atribut nama <Statistic> yang digunakan adalah organization, yang kebetulan 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> di kebijakan Pengumpul 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 API pengelolaan Edge 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> kebijakan Pengumpul Statistik tidak ada, deployment proxy API akan gagal.

Diagnosis

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

Berikut contoh kebijakan Pengumpul 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>
  

Dalam contoh kebijakan Pengumpul 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 dalam elemen <Statistic> kebijakan Pengumpul Statistik selalu ditentukan dan berjenis 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>