İstatistik Toplayıcı politikası dağıtımı hatasını giderme

Apigee Edge belgelerini görüntülüyorsunuz.
. Git: Apigee X belgeleri.
bilgi

UnsupportedDatatype

Hata mesajı

API proxy'sinin Edge Kullanıcı Arayüzü veya Edge management API üzerinden dağıtılması şu hata mesajını gösterir:

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

Örnek hata mesajı

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

Örnek ekran görüntüsü

Neden

İstatistik Toplayıcı politikasının <Statistic> öğesindeki ref özelliği tarafından belirtilen değişken türü desteklenmiyorsa API proxy'sinin dağıtımı başarısız olur.

Desteklenen veri türleri şunlardır: string, integer, float, long, double ve boolean.

Örneğin, değişkenin türü İstatistik Toplayıcı politikasının <Statistic> öğesinde char olarak belirtilirse API proxy'sinin dağıtımı başarısız olur.

Teşhis

  1. İlgili API Proxy'sinde hatanın oluştuğu İstatistik Toplayıcı politikasını tanımlayın.
  2. İstatistik Toplayıcı politikasında kullanılan desteklenmeyen veri türünü tanımlayın. Bu bilgileri hata mesajında bulabilirsiniz. Örneğin, aşağıdaki hatada desteklenmeyen veri türü char:

    StatisticsCollection char: Datatype Revision:1;APIProxy:StatCollector;Organization:aprabhashankar-eval;Environment:test is unsupported . Context {2}.
    
  3. Başarısız İstatistik Toplayıcı politikasında kullanılan tür özelliğinin, hata mesajında tanımlanan veri türüyle eşleştiğini doğrulayın (yukarıdaki 2. adım). Örneğin, aşağıdaki politika, veri türünü hata mesajındakiyle eşleşen char olarak belirtir:

    <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. Tür özelliği desteklenen bir veri türünde değilse hatanın nedeni budur.

    Yukarıda gösterilen İstatistik Toplayıcı politikası örneğinde, type özelliğinin char olarak ayarlandığını unutmayın. Bu özellik desteklenmez. Bu nedenle, API Proxy'sinin dağıtımı şu hatayla başarısız olur:

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

Çözünürlük

İstatistik Toplayıcı politikasının <Statistic> öğelerindeki ref özellikleri tarafından belirtilen değişkenlerin veri türünün desteklendiğinden ve geçerli olduğundan emin olun. Örneğin:

<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

Hata mesajı

API proxy'sinin Edge Kullanıcı Arayüzü veya Edge management API üzerinden dağıtılması şu hata mesajını gösterir:

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

Örnek hata mesajı

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

Örnek ekran görüntüsü

Neden

İstatistik Toplayıcı politikasının <Statistic> öğesinde tanımlanmış belirtilen değişken için toplanan verilere başvuruda bulunmak için kullanılan ad sistem tanımlı bir değişkenle çakışıyorsa API proxy'sinin dağıtımı başarısız olur.

Sistem tarafından tanımlanmış değişkenlerden bazıları organization ve environment'dır.

Örneğin, ad özelliği İstatistik Toplayıcı politikasının <Statistic> öğesinde organization olarak belirtilirse API proxy'sinin dağıtımı başarısız olur.

Teşhis

  1. Hatanın oluştuğu İstatistik Toplayıcı politikasını ve sistem tanımlı bir değişkenle çakışan <Statistic> öğesinin adını tanımlayın. Bu iki öğeyi de hata mesajında bulabilirsiniz. Örneğin, aşağıdaki hatada politika adı StatCollector, sistem tarafından tanımlanmış değişkenle çakışan <Statistic> öğesinin adı organization şeklindedir:

    StatisticsCollection: Name: organization conflicts with system defined variables. Context policy: StatCollector.
    
  2. Başarısız İstatistik Toplayıcı politikası XML'inde kullanılan <Statistic> öğesinin adının hata mesajında tanımlanan adla eşleştiğini doğrulayın (yukarıdaki 1. adım). Örneğin, aşağıdaki politika, adı <Statistic> öğesinde, hata mesajındakiyle eşleşen organization olarak belirtir:

    <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. Her <Statistic> öğesinin tanımını inceleyin. name özelliğinin bir sistem değişkeniyle çakıştığı bir <Statistic> öğesi varsa hatanın nedeni budur.

Yukarıda gösterilen İstatistik Toplayıcı politikası örneğinde, kullanılan <Statistic> ad özelliğinin bir sistem değişkeni adı olan organization olduğunu unutmayın. Bu nedenle, API Proxy'sinin dağıtımı şu hatayla başarısız olur:

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

Çözünürlük

İstatistik Toplayıcı politikasındaki <Statistic> öğesinde tanımlanan değişken için toplanan verilere başvuruda bulunmak için kullanılan <Statistic> öğesinin adının sistem tanımlı değişkenlerle aynı olmadığından emin olun. Örneğin:

<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

Hata mesajı

API proxy'sinin Edge Kullanıcı Arayüzü veya Edge management API üzerinden dağıtılması şu hata mesajını gösterir:

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

Örnek hata mesajı

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

Örnek ekran görüntüsü

Neden

İstatistik Toplayıcı politikasının <Statistic> öğesindeki ref özelliği tarafından belirtilen değişken türü eksikse API proxy'sinin dağıtımı başarısız olur.

Teşhis

  1. İlgili API Proxy'sinde hatanın oluştuğu İstatistik Toplayıcı politikasını tanımlayın.
  2. Başarısız olan İstatistik Toplayıcı politikası XML'indeki <Statistic> öğelerinin her birinin tanımını inceleyin. Tür özelliğinin eksik olduğu <Statistic> öğeleri varsa hatanın nedeni budur.

Aşağıda örnek bir İstatistik Toplayıcı politikası verilmiştir:

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

Yukarıda gösterilen İstatistik Toplayıcı politikası örneğinde, her iki <Statistic> öğesinde de type özelliğinin eksik olduğuna dikkat edin. Bu nedenle API Proxy'sinin dağıtımı başarısız olur.

Çözünürlük

İstatistik Toplayıcı politikasının <Statistic> öğesindeki ref özelliği tarafından belirtilen değişkenin tür özelliğinin her zaman belirtildiğinden ve desteklenen veri türünde olduğundan emin olun.

Desteklenen veri türleri şunlardır: string, integer, float, long, double ve boolean.

Örneğin:

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