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

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

UnsupportedDatatype

Hata mesajı

API proxy'sinin Edge kullanıcı arayüzü veya Edge Management API aracılığıyla dağıtılması şu hata mesajıyla başarısız olur:

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. Hatanın gerçekleştiği belirli API Proxy'sinde İ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 şeklindedir:

    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 politikada veri türü char olarak belirtilir. Bu, hata mesajındakiyle eşleşir:

    <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ında, type özelliğinin char olarak ayarlandığını ancak bu şekilde desteklenmediğini unutmayın. Bu nedenle, API Proxy'sinin dağıtımı şu hatayı vererek 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 referans ö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 aracılığıyla dağıtılması şu hata mesajıyla başarısız olur:

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ımlanan belirtilen değişken için toplanan verilere referans vermek üzere kullanılan ad, sistem tanımlı bir değişkenle çakışıyorsa API proxy'sinin dağıtımı başarısız olur.

Bilinen sistem tanımlı değişkenlerden bazıları organization ve environment'dir.

Ö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 öğelerin ikisini de hata mesajında bulabilirsiniz. Örneğin, aşağıdaki hatada politika adı StatCollector, sistem tanımlı değişkenle çakışan <Statistic> öğesinin adı ise 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 belirtilen adla eşleştiğini doğrulayın (yukarıdaki 1. adım). Örneğin, aşağıdaki politikada <Statistic> öğesi, hata mesajındaki adla eşleşen organization olarak belirtilmektedir:

    <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> öğelerinin her birinin 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ında, kullanılan <Statistic> ad özelliğinin organization olduğunu ve bu adın bir sistem değişkeni adı olduğunu unutmayın. Bu nedenle, API Proxy'sinin dağıtımı şu hatayı vererek 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 referans vermek üzere 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 aracılığıyla dağıtılması şu hata mesajıyla başarısız olur:

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. Hatanın gerçekleştiği belirli API Proxy'sinde İstatistik Toplayıcı politikasını tanımlayın.
  2. Başarısız İstatistik Toplayıcı politikası XML'indeki <Statistic> öğelerinin her birinin tanımını inceleyin. Tür özelliğinin eksik olduğu herhangi bir <Statistic> öğesi varsa hatanın nedeni budur.

Aşağıda bir İstatistik Toplayıcı politikası örneği 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ında, her iki <Statistic> öğesi için de tür özelliğinin eksik olduğuna dikkat edin. Bu nedenle, API Proxy'si 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 bir 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>