Rozwiązywanie problemów z wdrażaniem zasad kolektora statystyk

Przeglądasz dokumentację Apigee Edge.
Przejdź do Dokumentacja Apigee X.
informacje.

UnsupportedDatatype

Komunikat o błędzie

Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub Edge Management API nie powiedzie się i wyświetli się ten komunikat o błędzie:

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

Przykładowy komunikat o błędzie

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

Przykładowy zrzut ekranu

Przyczyna

Jeśli typ zmiennej określonej przez atrybut ref w elemencie <Statistic> zasady kolektora statystyk nie jest obsługiwany, wdrożenie serwera proxy interfejsu API się nie uda.

Obsługiwane typy danych to string, integer, float, long, double i boolean.

Jeśli na przykład w elemencie <Statistic> zasady kolektora statystyk typ zmiennej jest określony jako char, wdrożenie serwera proxy interfejsu API się nie uda.

Diagnostyka

  1. Określ zasadę kolektora statystyk na konkretnym serwerze proxy interfejsu API, na którym wystąpił błąd.
  2. Określ nieobsługiwany typ danych używany w zasadzie kolektora statystyk. Te informacje znajdziesz w komunikacie o błędzie. Na przykład w tym błędzie nieobsługiwany typ danych to char:

    StatisticsCollection char: Datatype Revision:1;APIProxy:StatCollector;Organization:aprabhashankar-eval;Environment:test is unsupported . Context {2}.
    
  3. Sprawdź, czy atrybut typu używany w nieudanych zasadach kolektora statystyk jest zgodny z typem danych podanym w komunikacie o błędzie (krok 2 powyżej). Na przykład ta zasada określa jako typ danych char, co odpowiada treści komunikatu o błędzie:

    <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. Jeśli typ danych nie jest obsługiwany, to jest przyczyną błędu.

    W pokazanej powyżej przykładowej zasadzie kolektora statystyk przypominamy, że atrybut type ma wartość char, która nie jest obsługiwana. W związku z tym wdrożenie serwera proxy interfejsu API kończy się niepowodzeniem i wyświetla się błąd:

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

Rozdzielczość

Upewnij się, że typ danych zmiennych określonych przez atrybuty referencyjne w elementach <Statistic> zasady kolektora statystyk jest obsługiwany i prawidłowy. Na przykład:

<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

Komunikat o błędzie

Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub Edge Management API nie powiedzie się i wyświetli się ten komunikat o błędzie:

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

Przykładowy komunikat o błędzie

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

Przykładowy zrzut ekranu

Przyczyna

Jeśli nazwa używana do odwoływania się do danych zebranych dla określonej zmiennej zdefiniowanej w elemencie <Statistic> zasady kolektora statystyk jest sprzeczna ze zmienną zdefiniowaną przez system, nie uda się wdrożyć serwera proxy interfejsu API.

Niektóre ze znanych zmiennych zdefiniowanych przez system to organization i environment.

Jeśli na przykład atrybut name jest określony jako organization w elemencie <Statistic> zasady kolektora statystyk, wdrożenie serwera proxy interfejsu API się nie uda.

Diagnostyka

  1. Wskaż zasadę kolektora statystyk, w której wystąpił błąd, i nazwę elementu <Statistic>, który powoduje konflikt ze zmienną zdefiniowaną przez system. Oba te elementy znajdziesz w komunikacie o błędzie. Na przykład w tym błędzie nazwa zasady to StatCollector, a nazwa elementu <Statistic>, który koliduje ze zmienną zdefiniowaną przez system, to organization:

    StatisticsCollection: Name: organization conflicts with system defined variables. Context policy: StatCollector.
    
  2. Sprawdź, czy nazwa elementu <Statistic> używanego w nieprawidłowym kodzie XML zasady kolektora statystyk jest zgodna z nazwą podaną w komunikacie o błędzie (krok 1 powyżej). Na przykład ta zasada określa nazwę w elemencie <Statistic> jako organization, która odpowiada treści komunikatu o błędzie:

    <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. Sprawdź definicję każdego z elementów <Statistic>. Jeśli w dowolnym elemencie <Statistic> atrybut name koliduje ze zmienną systemową, to właśnie on jest przyczyną błędu.

W pokazanej wyżej przykładowej zasadzie kolektora statystyk przypominamy, że użyty atrybut nazwa <Statistic> to organization, który jest nazwą zmiennej systemowej. Dlatego wdrożenie serwera proxy interfejsu API kończy się niepowodzeniem i wyświetla się błąd:

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

Rozdzielczość

Upewnij się, że nazwa elementu <Statistic> używanego do odwoływania się do danych zebranych w przypadku określonej zmiennej zdefiniowanej w elemencie <Statistic> w zasadzie kolektora statystyk nie jest taka sama jak zmienne zdefiniowane przez system. Na przykład:

<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

Komunikat o błędzie

Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge UI lub Edge Management API nie powiedzie się i wyświetli się ten komunikat o błędzie:

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

Przykładowy komunikat o błędzie

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

Przykładowy zrzut ekranu

Przyczyna

Jeśli brakuje typu zmiennej określonej przez atrybut ref w elemencie <Statistic> w zasadzie kolektora statystyk, wdrożenie serwera proxy interfejsu API się nie uda.

Diagnostyka

  1. Określ zasadę kolektora statystyk na konkretnym serwerze proxy interfejsu API, na którym wystąpił błąd.
  2. Sprawdź definicję każdego z elementów <Statistic> w pliku XML z błędami kolektora statystyk. Jeśli brakuje elementów <Statistic>, w których brakuje atrybutu type, to jest to przyczyna błędu.

Oto przykładowa zasada kolektora statystyk:

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

Zwróć uwagę na to, że w przykładowej powyżej zasadzie kolektora statystyk brakuje atrybutu typu dla obu elementów <Statistic>. W związku z tym wdrożenie serwera proxy interfejsu API się nie uda.

Rozdzielczość

Upewnij się, że atrybut typu zmiennej określonej przez atrybut ref w elemencie <Statistic> zasady zbieracza statystyk jest zawsze określony i ma obsługiwany typ danych.

Obsługiwane typy danych to string, integer, float, long, double i boolean.

Na przykład:

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