Przeglądasz dokumentację Apigee Edge.
Przejdź do
Dokumentacja Apigee X. informacje.
InvalidQuotaInterval
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 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 interwał 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 w elemencie <Interval>
zasady limitów wynosi 0, 1, wdrożenie serwera proxy interfejsu API się nie uda.
Diagnostyka
Wskaż zasadę dotyczącą limitów, w której wystąpił błąd, oraz określ nieprawidłowy odstęp limitu. Te informacje znajdziesz w komunikacie o błędzie. Na przykład w tym błędzie nazwa zasady to
Quota-1
, a nieprawidłowy interwał limitu to0.1
:Error Saving Revision 1 Invalid quota interval 0.1 in quota policy Quota-1.
Sprawdź, czy wartość interwału limitu określonego w nieudanych zasadach dotyczących 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ść odstępu limitu jako
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 interwał limitu nie jest liczbą całkowitą, to jest przyczyną błędu.
W przykładowej zasadzie limitów widocznej powyżej wartość odstępu limitu to 0, 1, co nie jest liczbą całkowitą. W związku z tym wdrożenie serwera proxy interfejsu API kończy się niepowodzeniem i wyświetla się błąd:
Invalid quota interval 0.1 in quota policy Quota-1.
Rozdzielczość
Sprawdź, czy wartość odstępu limitu określonego w elemencie <Interval>
zasady 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 UI lub Edge Management API nie powiedzie się i wyświetli się 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 dotyczącej limitów nie jest obsługiwana, wdrożenie serwera proxy interfejsu API się nie uda.
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>
zasady dotyczącej limitów, wdrożenie serwera proxy interfejsu API się nie uda.
Diagnostyka
Wskaż zasadę dotyczącą limitów, w której wystąpił błąd, oraz wskaż nieprawidłową jednostkę czasu. Te informacje 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ść odstępu limitu jakoyear
, co jest zgodne 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 zasadzie dotyczącej limitów nie jest obsługiwana, to jest przyczyną błędu.
W przykładowej zasadzie dotyczącej limitu widocznej powyżej jednostka czasu jest określona jako
year
. co nie jest obsługiwane. W związku z tym wdrożenie serwera proxy interfejsu API kończy się niepowodzeniem i wyświetla się błąd:Invalid quota interval time unit year in quota policy Quota-1 in Revision 1 of application Quota_test, in organization aprabhashankar-eval.
Rozdzielczość
Sprawdź, czy 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 UI lub Edge Management API nie powiedzie się i wyświetli się 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 type limitu określonego przez atrybut type
w <Quota>
element zasady dotyczącej limitów jest nieprawidłowy, wdrożenie serwera proxy interfejsu API się nie uda.
Obsługiwane typy limitów to default
, calendar
, flexi
i rollingwindow
.
Jeśli na przykład w elemencie <Quota>
typ zasady określony jako window
zasady limitów, wdrożenie serwera proxy interfejsu API się nie uda.
Diagnostyka
Znajdź nieprawidłowy typ limitu używany w zasadzie dotyczącej limitów. Znajdziesz to informacje zawarte w komunikacie o błędzie. Na przykład w tym błędzie 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 konkretnym serwerze proxy interfejsu API, na którym wystąpił błąd. Jeśli istnieje zasada dotycząca limitów, w której typ limitu określony w elemencie
<Quota>
pasuje do nieobsługiwanego typu określonego w kroku 1 powyżej, to to jest przyczyną błędu.Na przykład ta zasada określa typ jako
window
, który jest zgodny 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>
Jako że atrybut typu ma wartość
window
, która nie jest obsługiwana, wdrożenie serwera proxy interfejsu API nie powiedzie się i pojawi się 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 UI lub Edge Management API nie powiedzie się i wyświetli się 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 dotyczącej limitów jest nieprawidłowy, wdrożenie serwera proxy interfejsu API się nie uda.
Prawidłowy format to yyyy-MM-dd HH:mm:ss
. Jest to format daty i godziny w standardzie ISO 8601.
Jeśli na przykład czas określony w elemencie <StartTime>
zasady dotyczącej limitów to 7-16-2017 12:00:00
, wdrożenie serwera proxy interfejsu API się nie uda.
Diagnostyka
Znajdź nieprawidłowy czas rozpoczęcia określony w zasadzie dotyczącej limitów. Te informacje znajdziesz w komunikacie o błędzie. Na przykład w tym błędzie nieprawidłowa godzina 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 konkretnym serwerze proxy interfejsu API, na którym wystąpił błąd. Jeśli istnieje zasada dotycząca limitów, w której wartość podana w elemencie
<StartTime>
pasuje do nieprawidłowego czasu rozpoczęcia określonego w kroku 1 powyżej, to właśnie jest przyczyną błędu.Na przykład ta zasada określa typ jako
7-16-2017 12:00:00
, który jest zgodny 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>
Jako wartość parametru
<StartTime>
ustawiona jest wartość7-16-2017 12:00:00
, która nie ma wymaganego formatu daty/godziny, wdrożenie serwera proxy interfejsu API kończy się niepowodzeniem i pojawia się błąd:Invalid Starttime:7-16-2017 12:00:00; Start Time should be of the format yyyy-MM-dd HH:mm:ss.
Rozdzielczość
Sprawdź, czy format godziny rozpoczęcia określony w elemencie <StartTime>
zasady dotyczącej 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 UI lub Edge Management API nie powiedzie się i wyświetli się 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 limitów, której typem limitu nie jest typ kalendarza, nie uda się wdrożyć serwera proxy interfejsu API.
Element <StartTime>
jest obsługiwany tylko w przypadku typu limitu calendar
.
Jeśli na przykład atrybut type
w elemencie <Quota>
zasady dotyczącej limitów ma wartość flexi
lub rolling window
, wdrożenie serwera proxy interfejsu API się nie uda.
Diagnostyka
Zidentyfikuj typ limitu określony w błędnej zasadzie dotyczącej limitów. Te informacje znajdziesz w komunikacie o błędzie. Na przykład w tym błędzie nieprawidłowa godzina 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 konkretnym serwerze proxy interfejsu API, na którym wystąpił błąd. Jeśli istnieje zasada dotycząca limitów, w której określony atrybut typu pasuje do typu limitu określonego w kroku 1 powyżej i określony jest element
<StartTime>
, to właśnie jest przyczyną błędu.Na przykład ta zasada określa typ limitu jako
flexi
, który jest zgodny z informacją 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
, dlatego wdrożenie serwera proxy interfejsu API kończy się błędem:Starttime is not supported for quotatype flexi. Starttime is supported only for calendar based type.
Rozdzielczość
Upewnij się, że element <StartTime>
nie jest określony, gdy typ limitu określony w atrybucie 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 UI lub Edge Management API nie powiedzie się i wyświetli się 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 się nie uda. Jednostka czasu second
jest nieprawidłowa dla rozproszonego limitu.
Gdy element Distributed
ma wartość true
, zasada powinna utrzymywać centralny licznik i stale synchronizować go przez wszystkie procesory wiadomości. W związku z tym trudno byłoby przeprowadzić synchronizację i sprawdzić, czy liczba żądań nie przekroczyła określonego limitu w krótkim czasie, np. w sekundach. Z tego powodu jednostka czasu second
jest uznawana za nieprawidłową w przypadku limitu rozproszonego.
Diagnostyka
Sprawdź wszystkie zasady dotyczące limitów na konkretnym serwerze proxy interfejsu API, na którym wystąpił błąd. Jeśli istnieje zasada dotycząca limitów z elementem <TimeUnit>
ustawionym na second
, a element <Distributed>
ma wartość true
, to jest to przyczyna błędu.
Na przykład w poniższej zasadzie element <TimeUnit>
jest ustawiony na 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. Element <TimeUnit>
może mieć dowolną z pozostałych dozwolonych wartości – minute, hour, day, week,
lubmonth
. Na przykład:
<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 UI lub Edge Management API nie powiedzie się i wyświetli się 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ść określona dla elementu <SyncIntervalInSeconds>
w elemencie <AsynchronousConfiguration>
w zasadzie limitów jest mniejsza niż 0, wdrożenie serwera proxy interfejsu API się nie uda.
Diagnostyka
Sprawdź wszystkie zasady dotyczące limitów na konkretnym serwerze proxy interfejsu API, na którym wystąpił błąd. Jeśli istnieje zasada dotycząca limitów, w której element <SyncIntervalInSeconds>
w elemencie <AsynchronousConfiguration>
ma wartość mniejszą od 0, to właśnie jest przyczyną błędu.
Na przykład ta zasada ma wartość ujemną określoną dla elementu <SyncIntervalInSeconds>
:
<?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 zawsze określać dodatnią liczbę całkowitą dla elementu <SyncIntervalInSeconds>
w elemencie <AsynchronousConfiguration>
w zasadach dotyczących limitów. 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 UI lub Edge Management API nie powiedzie się i wyświetli się 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 limitów, która ma również konfigurację asynchroniczną zdefiniowaną za pomocą elementu <AsynchronousConfiguration>
, wdrożenie serwera proxy interfejsu API się nie uda.
Diagnostyka
Sprawdź wszystkie zasady dotyczące limitów na konkretnym serwerze proxy interfejsu API, na którym wystąpił błąd. Jeśli istnieje zasada dotycząca limitów, w której element <Synchronous>
ma wartość true
, a element ma też zdefiniowany element <AsynchronousConfiguration>
, to właśnie on jest przyczyną błędu.
Na przykład ta zasada zawiera element <Synchronous>
ustawiony na true
i 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ść
Sprawdź, czy w elemencie <AsynchronousConfiguration>
nie ma zdefiniowanej konfiguracji asynchronicznej, jeśli element <Synchronous>
ma wartość true
w zasadzie limitów.
W przykładzie powyżej można poprawić, usuwając sekcję <AsynchronousConfiguration>
w następujący 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>