Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. Informacje
UnsupportedDatatype
Komunikat o błędzie
Wdrożenie serwera proxy interfejsu API za pomocą interfejsu Edge lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetlany jest 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ślony przez atrybut ref
w elemencie <Statistic>
zasady kolektora statystyk nie jest obsługiwany, wdrożenie serwera proxy interfejsu API nie powiedzie się.
Obsługiwane typy danych to string
, integer
, float
, long
, double
i boolean
.
Jeśli np. typ zmiennej jest określony jako char
w elemencie <Statistic>
w zasadach kolektora statystyk, wdrożenie serwera proxy interfejsu API się nie uda.
Diagnostyka
- Zidentyfikuj zasadę kolektora statystyk na konkretnym serwerze proxy interfejsu API, na którym wystąpił błąd.
Wskaż nieobsługiwany typ danych używany w zasadzie kolektora statystyk. Informacje te 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}.
Sprawdź, czy atrybut typu użyty w nieudanej zasadzie kolektora statystyk jest zgodny z typem danych określonym w komunikacie o błędzie (krok 2 powyżej). Na przykład ta zasada określa typ danych jako
char
, co jest zgodne z 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>
Jeśli typ danych nie jest obsługiwany, to jest przyczyną błędu.
W przykładowej zasadzie kolektora statystyk pokazanej powyżej przypominamy, że atrybut
type
jest ustawiony jakochar
, co nie jest obsługiwane. Dlatego wdrożenie serwera proxy interfejsu API nie powiedzie się z błędem: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>
w zasadach 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 lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetlany jest 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 w celu odwoływania się do danych zebranych dla określonej zmiennej zdefiniowanej w elemencie <Statistic>
w zasadach kolektora statystyk powoduje konflikt ze zmienną zdefiniowaną przez system, wdrożenie serwera proxy interfejsu API się nie uda.
Niektóre ze znanych zmiennych zdefiniowanych w systemie to organization
i environment
.
Jeśli na przykład atrybut name jest określony jako organization
w elemencie <Statistic>
w zasadach kolektora statystyk, wdrożenie serwera proxy interfejsu API się nie uda.
Diagnostyka
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 toStatCollector
, a nazwa elementu<Statistic>
, który koliduje ze zmienną zdefiniowaną przez system, toorganization
:StatisticsCollection: Name: organization conflicts with system defined variables. Context policy: StatCollector.
Sprawdź, czy nazwa elementu
<Statistic>
użytego w nieudanym kodzie XML zasad kolektora statystyk jest zgodna z nazwą podaną w komunikacie o błędzie (krok 1 powyżej). Na przykład ta zasada określa w elemencie<Statistic>
nazwęorganization
, która jest zgodna z 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>
Sprawdź definicję każdego elementu
<Statistic>
. Jeśli w jakimkolwiek elemencie<Statistic>
występuje konflikt atrybutuname
ze zmienną systemową, to jest przyczyną błędu.
W przykładowej zasadzie kolektora statystyk pokazanej powyżej zapamiętaj, że używany atrybut nazwy <Statistic>
to organization
, który jest nazwą zmiennej systemowej. Z tego powodu wdrożenie serwera proxy interfejsu API nie powiodło się i występuje błąd:
StatisticsCollection: Name: organization conflicts with system defined variables. Context policy: StatCollector.
Rozdzielczość
Upewnij się, że nazwa elementu <Statistic>
używana w odniesieniu do danych zebranych w przypadku określonej zmiennej zdefiniowanej w elemencie <Statistic>
w zasadach dotyczących kolektora statystyk różni się od zmiennych zdefiniowanych w systemie. 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 lub interfejsu Edge Management API kończy się niepowodzeniem i wyświetlany jest 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ślonego przez atrybut ref
w elemencie <Statistic>
zasady kolektora statystyk, wdrożenie serwera proxy interfejsu API nie powiedzie się.
Diagnostyka
- Zidentyfikuj zasadę kolektora statystyk na konkretnym serwerze proxy interfejsu API, na którym wystąpił błąd.
- Sprawdź definicję każdego z elementów
<Statistic>
w nieudanym kodzie XML zasad kolektora statystyk. Jeśli brakuje jakiegoś atrybutu typu w jakimś elemencie<Statistic>
, 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>
W przykładowej zasadzie kolektora statystyk pokazanej powyżej można zauważyć, że w przypadku elementów <Statistic>
brakuje atrybutu typu. Z tego powodu wdrożenie proxy interfejsu API się nie uda.
Rozdzielczość
Upewnij się, że atrybut typu zmiennej określony przez atrybut ref
w elemencie <Statistic>
zasady kolektora 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>