Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. Informacje
InvalidQuotaInterval
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 Saving Revision [revision_number] Invalid quota interval [interval] in quota policy [policy_name].
Przykładowy komunikat o błędzie
Error Saving Revision 1
Invalid quota interval 0.1 in quota policy Quota-1.
Przykładowy zrzut ekranu
Przyczyna
Jeśli odstęp limitu określony w elemencie <Interval>
zasady limitów nie jest liczbą całkowitą, wdrożenie serwera proxy interfejsu API się nie uda.
Jeśli na przykład interwał limitu wynosi 0, 1 w elemencie <Interval>
zasad limitów, wdrożenie serwera proxy interfejsu API nie powiedzie się.
Diagnostyka
Zidentyfikuj zasadę dotyczącą limitów, w której wystąpił błąd, oraz nieprawidłowy interwał limitu. Informacje te znajdziesz w komunikacie o błędzie. Na przykład w tym błędzie nazwa zasady to
Quota-1
, a nieprawidłowy odstęp czasu limitu to0.1
:Error Saving Revision 1 Invalid quota interval 0.1 in quota policy Quota-1.
Sprawdź, czy wartość przedziału czasu określonego w nieudanej zasadzie dotyczącej limitów jest zgodna z wartością podaną w komunikacie o błędzie (krok 1 powyżej). Na przykład ta zasada określa wartość przedziału limitu wynoszącą
0.1
, która jest zgodna z treścią komunikatu o błędzie:<Quota async="false" continueOnError="false" enabled="true" name="Quota-1"> <DisplayName>Quota-1</DisplayName> <Properties /> <Allow count="3" /> <Interval>0.1</Interval> <TimeUnit>minute</TimeUnit> </Quota>
Jeśli podany odstęp czasu nie jest liczbą całkowitą, jest to przyczyna błędu.
W przedstawionej powyżej przykładowej zasadzie dotyczącej limitów wartość odstępu między limitami wynosi 0,1 i nie jest liczbą całkowitą. Dlatego wdrożenie serwera proxy interfejsu API nie powiedzie się z błędem:
Invalid quota interval 0.1 in quota policy Quota-1.
Rozdzielczość
Upewnij się, że wartość odstępu czasu określonego w elemencie <Interval>
zasad dotyczących limitów jest liczbą całkowitą. Na przykład:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota-1"> <DisplayName>Quota-1</DisplayName> <Properties/> <Allow count="3"/> <Interval>1</Interval> <TimeUnit>minute</TimeUnit> </Quota>
InvalidQuotaTimeUnit
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 Saving Revision [revision_number] Invalid quota interval time unit [time_unit] in quota policy [policy_name] in Revision [revision_number] of application [proxy_name], in organization [org_name].
Przykładowy komunikat o błędzie
Error Saving Revision 1
Invalid quota interval time unit year in quota policy Quota-1 in Revision 1 of application Quota_test, in organization aprabhashankar-eval.
Przykładowy zrzut ekranu
Przyczyna
Jeśli jednostka czasu określona w elemencie <TimeUnit>
zasady limitu nie jest obsługiwana, wdrożenie serwera proxy interfejsu API nie powiedzie się.
Obsługiwane jednostki czasu to minute
, hour
, day
, week
i month
.
Jeśli na przykład jednostka czasu jest określona jako year
w elemencie <TimeUnit>
w zasadach limitów, wdrożenie serwera proxy interfejsu API się nie uda.
Diagnostyka
Określ zasadę dotyczącą limitów, w której wystąpił błąd, oraz nieprawidłową jednostkę czasu. Informacje te znajdziesz w komunikacie o błędzie. Na przykład w tym błędzie nazwa zasady to
Quota-1
, a nieprawidłowa jednostka czasu toyear
:Invalid quota interval time unit year in quota policy Quota-1 in Revision 1 of application Quota_test, in organization aprabhashankar-eval.
Sprawdź, czy jednostka czasu określona w elemencie
<TimeUnit>
zasady dotyczącej limitów jest zgodna z jednostką czasu podaną w komunikacie o błędzie (krok 1 powyżej). Na przykład ta zasada określa wartość przedziału limitu wynoszącąyear
, która jest zgodna z treścią komunikatu o błędzie:<Quota async="false" continueOnError="false" enabled="true" name="Quota-1"> <DisplayName>Quota-1</DisplayName> <Properties /> <Allow count="3" /> <Interval>1</Interval> <TimeUnit>year</TimeUnit> </Quota>
Jeśli jednostka czasu określona w zasadach limitów nie jest obsługiwana, jest to przyczyna błędu.
W przedstawionej powyżej przykładowej zasadzie dotyczącej limitu jednostka czasu jest określona jako
year
, która nie jest obsługiwana. Dlatego wdrożenie serwera proxy interfejsu API nie powiedzie się z błędem:Invalid quota interval time unit year in quota policy Quota-1 in Revision 1 of application Quota_test, in organization aprabhashankar-eval.
Rozdzielczość
Upewnij się, że jednostka czasu określona w elemencie <TimeUnit>
zasady dotyczącej limitów jest obsługiwana. Na przykład:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota-1"> <DisplayName>Quota-1</DisplayName> <Properties/> <Allow count="3"/> <Interval>1</Interval> <TimeUnit>month</TimeUnit> </Quota>
InvalidQuotaType
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 Saving Revision [revision_number] No enum constant com.apigee.quota.types.QuotaType.[type].
Przykładowy komunikat o błędzie
Error Saving Revision 1
No enum constant com.apigee.quota.types.QuotaType.window.
Przykładowy zrzut ekranu
Przyczyna
Jeśli typ limitu określony przez atrybut type
w elemencie <Quota>
zasady Limity jest nieprawidłowy, wdrożenie serwera proxy interfejsu API nie powiedzie się.
Obsługiwane typy limitów to default
, calendar
, flexi
i rollingwindow
.
Jeśli na przykład typ zasady określony jako window
w elemencie <Quota>
zasady limitu się nie uda, nie uda się wdrożyć serwera proxy interfejsu API.
Diagnostyka
Określ nieprawidłowy typ limitu używany w zasadach dotyczących limitów. Informacje te znajdziesz w komunikacie o błędzie. Na przykład w tym błędzie w przypadku tego błędu nieprawidłowy typ zasady to
window
:Error Saving Revision 1 No enum constant com.apigee.quota.types.QuotaType.window.
Sprawdź wszystkie zasady dotyczące limitów na serwerze proxy interfejsu API, w którym wystąpił błąd. Jeśli istnieje jakaś zasada dotycząca limitu, w której typ limitu określony w elemencie
<Quota>
jest zgodny z nieobsługiwanym typem zidentyfikowanym w kroku 1 powyżej, to jest przyczyną błędu.Na przykład ta zasada określa typ jako
window
, co jest zgodne z treścią komunikatu o błędzie:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota-1" type="window"> <DisplayName>Quota-1</DisplayName> <Properties/> <Allow count="3"/> <Interval>1</Interval> <TimeUnit>minute</TimeUnit> <StartTime>2017-7-16 12:00:00</StartTime> <MessageWeight ref="messageWeight"/> </Quota>
Ponieważ atrybut typu jest ustawiony jako
window
, co nie jest obsługiwane, wdrożenie serwera proxy interfejsu API kończy się niepowodzeniem i występuje błąd:No enum constant com.apigee.quota.types.QuotaType.window.
Rozdzielczość
Upewnij się, że typ limitu określony przez atrybut type
w elemencie <Quota>
zasady dotyczącej limitów jest obsługiwany. Na przykład:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota-1" type="rollingwindow"> <DisplayName>Quota-1</DisplayName> <Properties/> <Allow count="3"/> <Interval>1</Interval> <TimeUnit>minute</TimeUnit> <StartTime>2017-7-16 12:00:00</StartTime> <MessageWeight ref="messageWeight"/> </Quota>
InvalidStartTime
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 Saving Revision [revision_number] Invalid Starttime:[start_time]; Start Time should be of the format yyyy-MM-dd HH:mm:ss.
Przykładowy komunikat o błędzie
Error Saving Revision 1
Invalid Starttime:7-16-2017 12:00:00; Start Time should be of the format yyyy-MM-dd HH:mm:ss.
Przykładowy zrzut ekranu
Przyczyna
Jeśli format godziny określony w elemencie <StartTime>
zasady limitu jest nieprawidłowy, wdrożenie serwera proxy interfejsu API nie powiedzie się.
Prawidłowy format to yyyy-MM-dd HH:mm:ss
, czyli format daty i godziny zgodny z normą ISO 8601.
Jeśli na przykład czas określony w elemencie <StartTime>
zasady limitu to 7-16-2017 12:00:00
, nie uda się wdrożyć serwera proxy interfejsu API.
Diagnostyka
Określ nieprawidłowy czas rozpoczęcia określony w zasadach dotyczących limitów. Informacje te znajdziesz w komunikacie o błędzie. Na przykład w tym błędzie w poniższym błędzie nieprawidłowy czas rozpoczęcia to
7-16-2017 12:00:00
Invalid Starttime:7-16-2017 12:00:00; Start Time should be of the format yyyy-MM-dd HH:mm:ss.
Sprawdź wszystkie zasady dotyczące limitów na serwerze proxy interfejsu API, w którym wystąpił błąd. Jeśli istnieje jakaś zasada dotycząca limitów, w której wartość określona w elemencie
<StartTime>
jest zgodna z nieprawidłowym czasem rozpoczęcia określonym w kroku 1 powyżej, to jest przyczyną błędu.Na przykład ta zasada określa typ jako
7-16-2017 12:00:00
, co jest zgodne z treścią komunikatu o błędzie:<?xml version="1.0" encoding="UTF-8"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota-1" type="calendar"> <DisplayName>Quota-1</DisplayName> <Properties /> <Allow count="3" /> <Interval>1</Interval> <TimeUnit>minute</TimeUnit> <StartTime>7-16-2017 12:00:00</StartTime> </Quota>
Ponieważ wartość ustawiona dla
<StartTime>
jest ustawiona jako7-16-2017 12:00:00
, co nie jest zgodne z wymaganym formatem daty i godziny, wdrożenie serwera proxy interfejsu API kończy się błędem:Invalid Starttime:7-16-2017 12:00:00; Start Time should be of the format yyyy-MM-dd HH:mm:ss.
Rozdzielczość
Upewnij się, że format czasu rozpoczęcia określony w elemencie <StartTime>
zasad dotyczących limitów jest prawidłowy zgodnie z wymaganym formatem yyyy-MM-dd HH:mm:ss
. Na przykład:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota-1" type="calendar"> <DisplayName>Quota-1</DisplayName> <Properties/> <Allow count="3"/> <Interval>1</Interval> <TimeUnit>minute</TimeUnit> <StartTime>2017-7-16 12:00:00</StartTime> </Quota>
StartTimeNotSupported
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 Saving Revision [revision_number] Starttime is not supported for quotatype [quota_type]. Starttime is supported only for calendar based type.
Przykładowy komunikat o błędzie
Error Saving Revision 1
Starttime is not supported for quotatype flexi. Starttime is supported only for calendar based type.
Przykładowy zrzut ekranu
Przyczyna
Jeśli element <StartTime>
jest określony w zasadzie dotyczącej limitów, której typ limitu nie jest typem kalendarza, wdrożenie serwera proxy interfejsu API nie powiedzie się.
Element <StartTime>
jest obsługiwany tylko w przypadku limitu typu calendar
.
Jeśli na przykład atrybut type
jest ustawiony na flexi
lub rolling window
w elemencie <Quota>
zasady limitu, wdrożenie serwera proxy interfejsu API nie powiedzie się.
Diagnostyka
Określ typ limitu określony w nieudanej zasadzie dotyczącej limitów. Informacje te znajdziesz w komunikacie o błędzie. Na przykład w tym błędzie w poniższym błędzie nieprawidłowy czas rozpoczęcia to
flexi
Starttime is not supported for quotatype flexi. Starttime is supported only for calendar based type.
Sprawdź wszystkie zasady dotyczące limitów na serwerze proxy interfejsu API, w którym wystąpił błąd. Jeśli istnieje jakaś zasada dotycząca limitów, w której podany atrybut typu jest zgodny z typem limitu określonym w kroku 1 powyżej i jest określony element
<StartTime>
, to jest przyczyną błędu.Na przykład ta zasada określa typ limitu w postaci
flexi
, który jest zgodny z treścią komunikatu o błędzie i określa element<StartTime>
:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota-1" type="flexi"> <DisplayName>Quota-1</DisplayName> <Properties/> <Allow count="3"/> <Interval>1</Interval> <TimeUnit>minute</TimeUnit> <StartTime>2017-7-16 12:00:00</StartTime> </Quota>
Element
<StartTime>
jest określony w zasadzie limitów, której typ limitu jest określony jakoflexi
, więc wdrożenie serwera proxy interfejsu API kończy się niepowodzeniem:Starttime is not supported for quotatype flexi. Starttime is supported only for calendar based type.
Rozdzielczość
Dopilnuj, aby element <StartTime>
nie był określony, gdy typ limitu określony przez atrybut type
w elemencie <Quota>
to flexi
lub rolling window
. Na przykład:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota-1" type="flexi"> <DisplayName>Quota-1</DisplayName> <Properties/> <Allow count="3"/> <Interval>1</Interval> <TimeUnit>minute</TimeUnit> </Quota>
InvalidTimeUnitForDistributedQuota
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 Saving Revision [revision number] Invalid timeunit second for distributed quota.
Przykładowy komunikat o błędzie
Error Saving Revision 1
Invalid timeunit second for distributed quota.
Przykładowy zrzut ekranu
Przyczyna
Jeśli element <Distributed>
ma wartość true
, a element <TimeUnit>
ma wartość second
, wdrożenie serwera proxy interfejsu API nie powiedzie się. Jednostka czasu second
jest nieprawidłowa dla limitu rozproszonego.
Gdy element Distributed
ma wartość true
, zasada powinna utrzymywać centralny licznik i stale synchronizować go między wszystkimi procesorami wiadomości. W związku z tym trudno byłoby zsynchronizować dane, a także sprawdzić, czy liczba żądań nie przekroczyła określonego limitu w krótkim przedziale czasu, np. w sekundach. Z tego powodu jednostka czasu second
jest uznawana za nieprawidłową w ramach limitu rozproszonego.
Diagnostyka
Sprawdź wszystkie zasady dotyczące limitów na serwerze proxy interfejsu API, w którym wystąpił błąd. Jeśli istnieje zasada dotycząca limitu z elementem <TimeUnit>
ustawionym na second
, a element <Distributed>
ma wartość true
, to jest przyczyną błędu.
Na przykład w poniższej zasadzie element <TimeUnit>
ma wartość second
, a element <Distributed>
ma wartość true
.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="CheckQuota" type="calendar"> <DisplayName>CheckQuota</DisplayName> <Properties/> <Allow count="30"/> <Interval>1</Interval> <TimeUnit>second</TimeUnit> <StartTime>2018-8-05 12:00:00</StartTime> <Distributed>true</Distributed> <Synchronous>false</Synchronous> </Quota>
Rozdzielczość
Upewnij się, że element <TimeUnit>
nigdy nie ma wartości second
, gdy element <Distributed>
ma wartość Prawda. Elementowi <TimeUnit>
można ustawić dowolną z pozostałych dozwolonych wartości – minute, hour, day, week,
lubmonth
, np.:
<Quota async="false" continueOnError="false" enabled="true" name="CheckQuota" type="calendar"> <DisplayName>CheckQuota</DisplayName> <Properties/> <Allow count="30"/> <Interval>1</Interval> <TimeUnit>hour</TimeUnit> <StartTime>2018-8-05 12:00:00</StartTime> <Distributed>true</Distributed> <Synchronous>false</Synchronous> </Quota>
InvalidSynchronizeIntervalForAsyncConfiguration
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 Saving Revision [revision number] SyncIntervalInSeconds should be a value greater than zero.
Przykładowy komunikat o błędzie
Error Saving Revision 1
SyncIntervalInSeconds should be a value greater than zero.
Przykładowy zrzut ekranu
Przyczyna
Jeśli wartość elementu <SyncIntervalInSeconds>
w elemencie <AsynchronousConfiguration>
w zasadzie limitu jest mniejsza niż 0, wdrożenie serwera proxy interfejsu API nie powiedzie się.
Diagnostyka
Sprawdź wszystkie zasady dotyczące limitów na serwerze proxy interfejsu API, w którym wystąpił błąd. Jest to przyczyna błędu, jeśli istnieje jakaś zasada dotycząca limitu, w której element <SyncIntervalInSeconds>
ma w elemencie <AsynchronousConfiguration>
wartość mniejszą niż 0.
Na przykład w poniższej zasadzie dla elementu <SyncIntervalInSeconds>
określona jest wartość ujemna:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota_AsyncConfig" type="calendar"> <DisplayName>Quota_AsyncConfig</DisplayName> <Properties/> <Allow count="3"/> <Interval>1</Interval> <TimeUnit>minute</TimeUnit> <StartTime>2017-7-16 12:00:00</StartTime> <Distributed>true</Distributed> <Synchronous>false</Synchronous> <AsynchronousConfiguration> <SyncIntervalInSeconds>-1</SyncIntervalInSeconds> </AsynchronousConfiguration> </Quota>
Rozdzielczość
Pamiętaj, aby w zasadach dotyczących limitu zawsze podawać dodatnią liczbę całkowitą dla elementu <SyncIntervalInSeconds>
w elemencie <AsynchronousConfiguration>
. Na przykład:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota_AsyncConfig" type="calendar"> <DisplayName>Quota_AsyncConfig</DisplayName> <Properties/> <Allow count="3"/> <Interval>1</Interval> <TimeUnit>minute</TimeUnit> <StartTime>2017-7-16 12:00:00</StartTime> <Distributed>true</Distributed> <Synchronous>false</Synchronous> <AsynchronousConfiguration> <SyncIntervalInSeconds>5</SyncIntervalInSeconds> </AsynchronousConfiguration> </Quota>
InvalidAsynchronizeConfigurationForSynchronousQuota
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 Saving Revision [revision number] AsynchronousConfiguration is not valid for synchronous quota.
Przykładowy komunikat o błędzie
Error Saving Revision 2
AsynchronousConfiguration is not valid for synchronous quota.
Przykładowy zrzut ekranu
Przyczyna
Jeśli wartość elementu <Synchronous>
jest ustawiona na true
w zasadzie limitu, która ma również konfigurację asynchroniczną zdefiniowaną za pomocą elementu <AsynchronousConfiguration>
, wdrożenie serwera proxy interfejsu API nie powiedzie się.
Diagnostyka
Sprawdź wszystkie zasady dotyczące limitów na serwerze proxy interfejsu API, w którym wystąpił błąd. Jeśli istnieje jakaś zasada limitu, w której element <Synchronous>
ma wartość true
, a także ma zdefiniowany element <AsynchronousConfiguration>
, to jest przyczyną błędu.
Na przykład poniższa zasada ma element <Synchronous>
, który jest ustawiony jako true
i ma też zdefiniowany element <AsynchronousConfiguration>
:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota_AsyncConfig" type="calendar"> <DisplayName>Quota_AsyncConfig</DisplayName> <Properties/> <Allow count="3"/> <Interval>1</Interval> <TimeUnit>minute</TimeUnit> <StartTime>2017-7-16 12:00:00</StartTime> <Distributed>true</Distributed> <Synchronous>true</Synchronous> <AsynchronousConfiguration> <SyncIntervalInSeconds>1</SyncIntervalInSeconds> </AsynchronousConfiguration> </Quota>
Rozdzielczość
Jeśli element <Synchronous>
ma w zasadzie limitu wartość true
, upewnij się, że nie zdefiniowano konfiguracji asynchronicznej przy użyciu elementu <AsynchronousConfiguration>
.
Powyższy przykład można poprawić, usuwając sekcję <AsynchronousConfiguration>
w podany niżej sposób:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota_AsyncConfig" type="calendar"> <DisplayName>Quota_AsyncConfig</DisplayName> <Properties/> <Allow count="3"/> <Interval>1</Interval> <TimeUnit>minute</TimeUnit> <StartTime>2017-7-16 12:00:00</StartTime> <Distributed>true</Distributed> <Synchronous>true</Synchronous> </Quota>