Sie lesen gerade die Dokumentation zu Apigee und Apigee Hybrid.
Apigee Edge-Dokumentation aufrufen.
InvalidQuotaInterval
Fehlermeldung
Die Bereitstellung des API-Proxys über die Apigee-Benutzeroberfläche oder die API schlägt mit der folgenden Fehlermeldung fehl:
Error Saving Revision [revision_number] Invalid quota interval [interval] in quota policy [policy_name].
Beispiel für Fehlermeldung
Error Saving Revision 1
Invalid quota interval 0.1 in quota policy Quota-1.
Beispiel-Screenshot
Ursache
Wenn das im Element <Interval>
der Kontingentrichtlinie angegebene Kontingentintervall keine Ganzzahl ist, schlägt die Bereitstellung des API-Proxy fehl.
Beispiel: Wenn das angegebene Kontingentintervall im Element <Interval>
einer Kontingentrichtlinie 0, 1 beträgt, schlägt die Bereitstellung des API-Proxy fehl.
Diagnose
Ermitteln Sie die Kontingentrichtlinie, in der der Fehler aufgetreten ist, sowie das ungültige Kontingentintervall. Diese Information finden Sie in der Fehlermeldung. Im folgenden Fehler ist der Richtlinienname beispielsweise
Quota-1
und das ungültige Kontingentintervall ist0.1
:Error Saving Revision 1 Invalid quota interval 0.1 in quota policy Quota-1.
Prüfen Sie, ob der Wert des in der fehlgeschlagenen Kontingentrichtlinie angegebenen Kontingentintervalls mit dem in der Fehlermeldung angegebenen Wert übereinstimmt (Schritt 1 oben). Beispiel: Folgende Richtlinie gibt den Wert des Kontingentintervalls als
0.1
an, was dem Inhalt der Fehlermeldung entspricht:<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>
Ist das angegebene Intervallintervall keine Ganzzahl, so ist dies die Fehlerursache.
In der obigen Beispiel-Kontingentrichtlinie ist der Wert des Kontingentintervalls 0, 1, also keine Ganzzahl. Entsprechend schlägt die Bereitstellung des API-Proxys mit folgendem Fehler fehl:
Invalid quota interval 0.1 in quota policy Quota-1.
Lösung
Achten Sie darauf, dass der Wert des im <Interval>
-Element der Kontingentrichtlinie angegebenen Kontingentintervalls eine Ganzzahl ist. Beispiel:
<?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
Fehlermeldung
Die Bereitstellung des API-Proxys über die Apigee-Benutzeroberfläche oder die API schlägt mit der folgenden Fehlermeldung fehl:
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].
Beispiel für Fehlermeldung
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.
Beispiel-Screenshot
Ursache
Wird die im Element <TimeUnit>
der Kontingentrichtlinie angegebene Zeiteinheit nicht unterstützt, so schlägt die Bereitstellung des API-Proxys fehl.
Die unterstützten Zeiteinheiten sind minute
, hour
, day
, week
und month
.
Beispiel: Wenn die Zeiteinheit im <TimeUnit>
-Element der Kontingentrichtlinie als year
angegeben wird, schlägt die Bereitstellung des API-Proxys fehl.
Diagnose
Ermitteln Sie die Kontingentrichtlinie, in der der Fehler aufgetreten ist, sowie die ungültige Zeiteinheit. Diese Information finden Sie in der Fehlermeldung. Im folgenden Fehler lautet der Richtlinienname beispielsweise
Quota-1
und die ungültige Zeiteinheit istyear
:Invalid quota interval time unit year in quota policy Quota-1 in Revision 1 of application Quota_test, in organization aprabhashankar-eval.
Prüfen Sie, ob die im
<TimeUnit>
-Element der Kontingentrichtlinie angegebene Zeiteinheit mit der in der Fehlermeldung angegebenen Zeiteinheit übereinstimmt (Schritt 1 oben). Beispiel: Folgende Richtlinie gibt den Wert des Kontingentintervalls alsyear
an, was dem Inhalt der Fehlermeldung entspricht:<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>
Wird die in der Kontingentrichtlinie angegebene Zeiteinheit nicht unterstützt, so ist dies die Fehlerursache.
In der oben gezeigten Beispiel-Kontingentrichtlinie wird die Zeiteinheit als
year
angegeben. Diese Zeiteinheit wird nicht unterstützt. Entsprechend schlägt die Bereitstellung des API-Proxys mit folgendem Fehler fehl:Invalid quota interval time unit year in quota policy Quota-1 in Revision 1 of application Quota_test, in organization aprabhashankar-eval.
Lösung
Achten Sie darauf, dass die im <TimeUnit>
-Element der Kontingentrichtlinie angegebene Zeiteinheit unterstützt wird. Beispiel:
<?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
Fehlermeldung
Die Bereitstellung des API-Proxys über die Apigee-Benutzeroberfläche oder die API schlägt mit der folgenden Fehlermeldung fehl:
Error Saving Revision [revision_number] No enum constant com.apigee.quota.types.QuotaType.[type].
Beispiel für Fehlermeldung
Error Saving Revision 1
No enum constant com.apigee.quota.types.QuotaType.window.
Beispiel-Screenshot
Ursache
Wenn der durch das Attribut type
im Element <Quota>
der Kontingentrichtlinie angegebenen Typ des Kontingents unzulässig ist, schlägt die Bereitstellung des API-Proxys fehl.
Unterstützte Kontingenttypen sind default
, calendar
, flexi
und rollingwindow
.
Beispiel: Ist der im Element <Quota>
der Kontingentrichtlinie festgelegte Typ der Richtlinie window
, so schlägt die Bereitstellung des API-Proxys fehl.
Diagnose
Ermitteln Sie den ungültigen Kontingenttyp, der in der Kontingentrichtlinie verwendet wird. Diese Informationen finden Sie in der Fehlermeldung. Im folgenden Fehler lautet der ungültige Richtlinientyp beispielsweise
window
:Error Saving Revision 1 No enum constant com.apigee.quota.types.QuotaType.window.
Prüfen Sie alle Kontingentrichtlinien im jeweiligen API-Proxy, in dem der Fehler aufgetreten ist. Gibt es eine Kontingentrichtlinie, bei der der im
<Quota>
-Element angegebene Kontingenttyp mit dem in Schritt 1 angegebenen, nicht unterstützten Typ übereinstimmt, so ist dies die Ursache des Fehlers.Beispiel: Die folgende Richtlinie gibt den Typ als
window
an, was dem Inhalt der Fehlermeldung entspricht:<?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>
Da als Typattribut
window
festgelegt ist, was nicht unterstützt wird, schlägt die Bereitstellung des API-Proxys mit folgendem Fehler fehl:No enum constant com.apigee.quota.types.QuotaType.window.
Lösung
Prüfen Sie, ob der durch das Attribut type
im <Quota>
-Element der Kontingentrichtlinie bestimmte Kontingenttyp unterstützt wird. Beispiel:
<?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
Fehlermeldung
Die Bereitstellung des API-Proxys über die Apigee-Benutzeroberfläche oder die API schlägt mit der folgenden Fehlermeldung fehl:
Error Saving Revision [revision_number] Invalid Starttime:[start_time]; Start Time should be of the format yyyy-MM-dd HH:mm:ss.
Beispiel für Fehlermeldung
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.
Beispiel-Screenshot
Ursache
Ist das Format der im Element <StartTime>
der Kontingentrichtlinie angegebenen Zeit unzulässig, so schlägt die Bereitstellung des API-Proxys fehl.
Das gültige Format ist yyyy-MM-dd HH:mm:ss
, also das Datums- und Uhrzeitformat ISO 8601.
Beispiel: Ist die im Element <StartTime>
der Kontingentrichtlinie angegebene Zeit 7-16-2017 12:00:00
, so schlägt die Bereitstellung des API-Proxys fehl.
Diagnose
Identifizieren Sie die ungültige Startzeit, die in der Kontingentrichtlinie angegeben ist. Diese Information finden Sie in der Fehlermeldung. Im folgenden Fehler ist die ungültige Startzeit beispielsweise
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.
Prüfen Sie alle Kontingentrichtlinien im jeweiligen API-Proxy, in dem der Fehler aufgetreten ist. Wenn es eine Kontingentrichtlinie gibt, bei der der im Element
<StartTime>
angegebene Wert mit der oben in Schritt 1 angegebenen ungültigen Startzeit übereinstimmt, ist dies die Ursache des Fehlers.Beispiel: Die folgende Richtlinie gibt den Typ als
7-16-2017 12:00:00
an, was dem Inhalt der Fehlermeldung entspricht:<?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>
Da für
<StartTime>
der Wert7-16-2017 12:00:00
festgelegt ist, der nicht dem erforderlichen Datums-/Uhrzeitformat entspricht, schlägt die Bereitstellung des API-Proxys mit folgendem Fehler fehl:Invalid Starttime:7-16-2017 12:00:00; Start Time should be of the format yyyy-MM-dd HH:mm:ss.
Lösung
Stellen Sie sicher, dass das Format der Startzeit im <StartTime>
-Element der Kontingentrichtlinie das erforderlichen Format yyyy-MM-dd HH:mm:ss
nutzt. Beispiel:
<?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
Fehlermeldung
Die Bereitstellung des API-Proxys über die Apigee-Benutzeroberfläche oder die API schlägt mit der folgenden Fehlermeldung fehl:
Error Saving Revision [revision_number] Starttime is not supported for quotatype [quota_type]. Starttime is supported only for calendar based type.
Beispiel für Fehlermeldung
Error Saving Revision 1
Starttime is not supported for quotatype flexi. Starttime is supported only for calendar based type.
Beispiel-Screenshot
Ursache
Wird das Element <StartTime>
in einer Kontingentrichtlinie angegeben, deren Kontingenttyp kein Kalendertyp ist, schlägt die Bereitstellung des API-Proxys fehl.
Das <StartTime>
-Element wird nur für den calendar
-Kontingenttyp unterstützt.
Beispiel: Ist das Attribut type
im Element <Quota>
der Kontingentrichtlinie auf flexi
oder rolling window
gesetzt, so schlägt die Bereitstellung des API-Proxys fehl.
Diagnose
Identifizieren Sie den Kontingenttyp, der in der Richtlinie zu fehlgeschlagenen Kontingenten angegeben ist. Diese Information finden Sie in der Fehlermeldung. Im folgenden Fehler ist die ungültige Startzeit beispielsweise
flexi
Starttime is not supported for quotatype flexi. Starttime is supported only for calendar based type.
Prüfen Sie alle Kontingentrichtlinien im jeweiligen API-Proxy, in dem der Fehler aufgetreten ist. Ist eine Kontingentrichtlinie vorhanden, in der das angegebene Typenattribut dem in Schritt 1 angegebenen Kontingenttyp entspricht und ist weiter das Element
<StartTime>
angegeben, so ist dies die Fehlerursache.Beispiel: Folgende Richtlinie gibt den Kontingenttyp als
flexi
an, was dem Inhalt der Fehlermeldung entspricht. Weiter ist auch das Element<StartTime>
bestimmt:<?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>
Da das Element
<StartTime>
in der Kontingentrichtlinie angegeben ist, deren Kontingenttyp alsflexi
bestimmt wurde, schlägt das Deployment des API-Proxys mit folgendem Fehler fehl:Starttime is not supported for quotatype flexi. Starttime is supported only for calendar based type.
Lösung
Achten Sie darauf, dass das <StartTime>
-Element nicht angegeben wird, wenn der durch das Attribut type
im <Quota>
-Attribut angegebene Kontingenttyp flexi
oder rolling window
ist. Beispiel:
<?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
Fehlermeldung
Die Bereitstellung des API-Proxys über die Apigee-Benutzeroberfläche oder die API schlägt mit der folgenden Fehlermeldung fehl:
Error Saving Revision [revision number] Invalid timeunit second for distributed quota.
Beispiel für Fehlermeldung
Error Saving Revision 1
Invalid timeunit second for distributed quota.
Beispiel-Screenshot
Ursache
Ist das Element <Distributed>
auf true
und das Element <TimeUnit>
auf second
gesetzt, so schlägt die Bereitstellung des API-Proxys fehl. Die Zeiteinheit second
ist für verteilte Kontingente unzulässig.
Ist das Element Distributed
auf true
eingestellt, so muss die Richtlinie einen zentralen Zähler einrichten und diesen kontinuierlich über alle Nachrichtenprozessoren hinweg synchronisieren. Entsprechend wäre es schwierig, eine Synchronisierung durchzuführen und gleichzeitig zu prüfen, ob die Anzahl der Anfragen das festgelegte Kontingent innerhalb einer kurzen Zeit, z. B. Sekunden, überschritten hat. Aus diesem Grund wird die Zeiteinheit second
für verteilte Kontingente als unzulässig betrachtet.
Diagnose
Prüfen Sie alle Kontingentrichtlinien im jeweiligen API-Proxy, in dem der Fehler aufgetreten ist. Wenn es eine Kontingentrichtlinie gibt, bei der ein <TimeUnit>
-Element auf second
und das <Distributed>
-Element auf true
gesetzt ist, ist dies die Fehlerursache.
Beispiel: In folgender Richtlinie ist ein <TimeUnit>
-Element auf second
und das Element <Distributed>
auf true
festgelegt.
<?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>
Lösung
Achten Sie darauf, dass das <TimeUnit>
-Element nicht auf second
gesetzt ist, wenn das <Distributed>
-Element auf "true" gesetzt ist. Das Element <TimeUnit>
kann auf einen beliebigen der anderen zulässigen Werte gesetzt werden: minute, hour, day, week,
oder month
. Beispiel:
<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
Fehlermeldung
Die Bereitstellung des API-Proxys über die Apigee-Benutzeroberfläche oder die API schlägt mit der folgenden Fehlermeldung fehl:
Error Saving Revision [revision number] SyncIntervalInSeconds should be a value greater than zero.
Beispiel für Fehlermeldung
Error Saving Revision 1
SyncIntervalInSeconds should be a value greater than zero.
Beispiel-Screenshot
Ursache
Ist der für das Element <SyncIntervalInSeconds>
im Element <AsynchronousConfiguration>
in einer Kontingentrichtlinie angegebene Wert kleiner als null, so schlägt die Bereitstellung des API-Proxys fehl.
Diagnose
Prüfen Sie alle Kontingentrichtlinien im jeweiligen API-Proxy, in dem der Fehler aufgetreten ist. Gibt es eine Kontingentrichtlinie, in der das Element <SyncIntervalInSeconds>
im Element <AsynchronousConfiguration>
auf einen Wert kleiner als null gesetzt ist, so ist dies die Ursache des Fehlers.
Beispiel: Folgende Richtlinie enthält einen negativen Wert für das Element <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>
Lösung
Geben Sie immer eine positive Ganzzahl für das <SyncIntervalInSeconds>
-Element im <AsynchronousConfiguration>
-Element einer Kontingentrichtlinie an. Beispiel:
<?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
Fehlermeldung
Die Bereitstellung des API-Proxys über die Apigee-Benutzeroberfläche oder die API schlägt mit der folgenden Fehlermeldung fehl:
Error Saving Revision [revision number] AsynchronousConfiguration is not valid for synchronous quota.
Beispiel für Fehlermeldung
Error Saving Revision 2
AsynchronousConfiguration is not valid for synchronous quota.
Beispiel-Screenshot
Ursache
Ist in einer Kontingentrichtlinie, in der eine asynchrone Konfiguration mithilfe des Elements <AsynchronousConfiguration>
vorhanden ist, der Wert des Elements <Synchronous>
auf true
gesetzt, so schlägt die Bereitstellung des API-Proxys fehl.
Diagnose
Prüfen Sie alle Kontingentrichtlinien im jeweiligen API-Proxy, in dem der Fehler aufgetreten ist. Gibt es eine Kontingentrichtlinie, in der das Element <Synchronous>
auf true
festgelegt ist und außerdem ein <AsynchronousConfiguration>
-Element definiert ist, so ist dies die Fehlerursache.
Beispiel: Folgende Richtlinie hat ein <Synchronous>
-Element, das auf true
gesetzt ist. Weiter ist auch ein <AsynchronousConfiguration>
-Element definiert:
<?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>
Lösung
Achten Sie darauf, dass mit dem Element <AsynchronousConfiguration>
keine asynchrone Konfiguration definiert ist, wenn das Element <Synchronous>
in einer Kontingentrichtlinie auf true
gesetzt ist.
Um das obige Beispiel zu korrigieren, entfernen Sie den Abschnitt <AsynchronousConfiguration>
, wie unten gezeigt:
<?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>