Sie lesen gerade die Apigee Edge -Dokumentation.
Zur
Apigee X -Dokumentation. info
Übersicht
Mit der Richtlinie „MonetizationLimitsCheck“ können Sie Monetarisierungslimits für API-Aufrufe festlegen, die vom App-Entwickler ausgeführt werden.
Einige Fälle, in denen die Richtlinie ausgelöst wird:
- Wenn ein App-Entwickler, der auf die monetarisierte API zugreift, kein Abo für das zugehörige API-Produkt erworben hat
- Das Konto des Entwicklers hat ein unzureichendes Guthaben.
- Der Entwickler hat das Limit für das Transaktionsvolumen überschritten.
Informationen zum Verknüpfen der Richtlinie mit Ihrem API-Proxy finden Sie unter Monetarisierungslimits für API-Proxys erzwingen.
Element <MonetizationLimitsCheck>
Gibt die MonetizationLimitsCheck-Richtlinie an.
| Standardwert | – |
| Erforderlich? | Erforderlich |
| Typ | Komplexer Typ |
| Übergeordnetes Element | – |
| Untergeordnete Elemente |
<DisplayName><FaultResponse><IgnoreUnresolvedVariables><Variables> |
Die folgende Tabelle enthält eine allgemeine Beschreibung der untergeordneten Elemente von <MonetizationLimitsCheck>:
| Untergeordnetes Element | Erforderlich? | Beschreibung |
|---|---|---|
<DisplayName> |
Optional | Ein benutzerdefinierter Name für die Richtlinie. |
<FaultResponse> |
Optional | Gibt die Antwortnachricht an, die an den anfordernden Client zurückgegeben wird, wenn der Fehler ausgelöst wird. |
<IgnoreUnresolvedVariables> |
Optional | Bestimmt, ob die Verarbeitung beendet wird, wenn eine nicht aufgelöste Variable erkannt wird. |
<Variables> |
Optional | Gibt die Ablaufvariablen an, die auf die Monetarisierungslimits geprüft werden sollen. |
Das <MonetizationLimitsCheck> Element verwendet die folgende Syntax:
Syntax
<?xml version="1.0" encoding="UTF-8"?> <MonetizationLimitsCheck async="false" continueOnError="false" enabled="true" name="POLICY_NAME"> <DisplayName>DISPLAY_NAME</DisplayName> <IgnoreUnresolvedVariables>[true|false]</IgnoreUnresolvedVariables> <Variables> <Product>VARIABLE_NAME</Product> </Variables> <FaultResponse> <Set> <Payload contentType="text/xml"> <error> <messages> <message>MESSAGE_TEXT</message> <message>MESSAGE_TEXT</message> </messages> </error> </Payload> <StatusCode>HTTP_STATUS</StatusCode> <ReasonPhrase>REASON_TEXT</ReasonPhrase> </Set> </FaultResponse> </MonetizationLimitsCheck>
Beispiel
Das folgende Beispiel zeigt die Definition der MonetizationLimitsCheck-Richtlinie:
<?xml version="1.0" encoding="UTF-8"?> <MonetizationLimitsCheck async="false" continueOnError="false" enabled="true" name="Monetization-Limits-Check"> <DisplayName>Monetization Limits Check</DisplayName> <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> <Variables> <Product>myproductvar.name</Product> </Variables> <FaultResponse> <Set> <Payload contentType="text/xml"> <error> <messages> <message>Developer has reached usage quota</message> <message>Is Developer Suspended - {monetizationLimits.isDeveloperSuspended} </message> </messages> </error> </Payload> <StatusCode>403</StatusCode> <ReasonPhrase>Forbidden</ReasonPhrase> </Set> </FaultResponse> </MonetizationLimitsCheck>
Dieses Element hat folgende Attribute, die allen Richtlinien gemeinsam sind:
| Attribut | Standard | Erforderlich? | Beschreibung |
|---|---|---|---|
name |
– | Erforderlich |
Der interne Name der Richtlinie. Der Wert des Attributs Optional können Sie das Element |
continueOnError |
falsch | Optional | Ist das Element auf "false" gesetzt, wird ein Fehler zurückgegeben, wenn eine Richtlinie fehlschlägt. Dies ist für die meisten Richtlinien das erwartete Verhalten. Ist das Element auf "true" gesetzt, wird die Ausführung des Ablaufs auch nach dem Fehlschlagen einer Richtlinie fortgesetzt. |
enabled |
wahr | Optional | Auf "true" setzen, um die Richtlinie durchzusetzen. Auf "false" setzen, um die Richtlinie zu "deaktivieren". Die Richtlinie wird nicht durchgesetzt, selbst wenn sie mit einem Ablauf verknüpft ist. |
async |
falsch | Eingestellte Funktionen | Dieses Attribut wurde verworfen. |
Verweis auf untergeordnetes Element
In diesem Abschnitt werden die untergeordneten Elemente von<MonetizationLimitsCheck> beschrieben.
<DisplayName>
Wird zusätzlich zum Attribut name verwendet, um die Richtlinie im Proxy-Editor der Verwaltungs-UI mit einem anderen, natürlicher klingenden Namen zu versehen.
Das Element <DisplayName> ist für alle Richtlinien gleich.
| Standardwert | – |
| Erforderlich/Optional? | Optional. Wenn Sie <DisplayName> weglassen, wird der Wert des Attributs name der Richtlinie verwendet. |
| Typ | String |
| Übergeordnetes Element | <PolicyElement> |
| Untergeordnete Elemente | Keine |
Das <DisplayName>-Element verwendet die folgende Syntax:
Syntax
<PolicyElement> <DisplayName>policy_display_name</DisplayName> ... </PolicyElement>
Beispiel
<PolicyElement> <DisplayName>My Validation Policy</DisplayName> </PolicyElement>
Das <DisplayName>-Element hat keine Attribute oder untergeordneten Elemente.
<IgnoreUnresolvedVariables>
Bestimmt, ob die Verarbeitung der Richtlinie beendet werden soll, wenn Apigee auf eine nicht aufgelöste Variable stößt.
| Standardwert | Wahr |
| Erforderlich? | Optional |
| Typ | Boolesch |
| Übergeordnetes Element |
<MonetizationLimitsCheck> |
| Untergeordnete Elemente | – |
Setzen Sie den Wert auf true, um nicht aufgelöste Variablen zu ignorieren und die Verarbeitung fortzusetzen;
andernfalls false. Der Standardwert ist true.
Das Festlegen von <IgnoreUnresolvedVariables> auf true unterscheidet sich vom Festlegen von continueOnError des Elements <MonetizationLimitsCheck>'s
auf true. Wenn Sie continueOnError auf true setzen, ignoriert Apigee nicht
nur die Variablenfehler, sondern alle Fehler.
Das <IgnoreUnresolvedVariables> Element verwendet die folgende Syntax:
Syntax
<IgnoreUnresolvedVariables>[true|false]</IgnoreUnresolvedVariables>
Beispiel
Im folgenden Beispiel wird <IgnoreUnresolvedVariables> auf false gesetzt:
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<Variables>
Gibt die Ablaufvariablen an, aus denen Sie während der Richtlinienausführung die Entitäts- oder Ressourcennamen abrufen möchten.
Sie können nur das <Product> Element innerhalb des <Variables> Elements angeben. Apigee ruft
den API-Produktnamen aus der Ablaufvariablen ab, die im Element <Product> angegeben ist. Wenn Sie das
Element <Variables> nicht angeben, ruft Apigee den API-Produktnamen standardmäßig aus der
Kontextvariablen apiproduct.name ab. Anhand des API-Produktnamens ruft Apigee den entsprechenden Tarifplan für das Produkt ab und führt die Überprüfung der Monetarisierungslimits durch.
| Standardwert | – |
| Erforderlich? | Optional |
| Typ | Komplexer Typ |
| Übergeordnetes Element |
<MonetizationLimitsCheck> |
| Untergeordnete Elemente |
<Product> |
Das <Variables>-Element verwendet die folgende Syntax:
Syntax
<Variables>
<Product>VARIABLE_NAME</Product>
</Variables>Beispiel
Im folgenden Beispiel wird der API-Produktname aus der benutzerdefinierten Ablaufvariablen myproductvar.name im API-Proxyablauf abgerufen.
<Variables> <Product>myproductvar.name</Product> </Variables>
Sie können benutzerdefinierte Ablaufvariablen mit Richtlinien wie AssignMessage oder JavaScript festlegen.
<Product>
Gibt die Variable mit dem API-Produktnamen an.
| Standardwert | – |
| Erforderlich? | Optional |
| Typ | String |
| Übergeordnetes Element |
<Variables> |
| Untergeordnete Elemente | – |
Das <Product>-Element verwendet die folgende Syntax:
Syntax
<Product>VARIABLE_NAME</Product>
Beispiel
Im folgenden Beispiel wird der API-Produktname aus der benutzerdefinierten Ablaufvariablen myproductvar.name im API-Proxyablauf abgerufen.
<Product>myproductvar.name</Product>
Sie können benutzerdefinierte Ablaufvariablen mit Richtlinien wie AssignMessage oder JavaScript festlegen.
<FaultResponse>
Definiert die Antwortnachricht, die an den anfordernden Client zurückgegeben wird, wenn ein Fehler ausgelöst wird. Sie können die Antwort nach Bedarf anpassen. Weitere Informationen zum Element und allen untergeordneten Elementen finden Sie unter FaultResponse.
Ablaufvariablen
Wenn Sie das Attribut
ContinueOnError des Elements <MonetizationLimitsCheck> auf „true“ setzen, wird kein Fehler ausgelöst. In diesem Fall werden die
Ablaufvariablen mint.limitsViolated, mint.isDeveloperSuspended, und
mint.limitsPolicyError automatisch festgelegt. Diese Variablen können bei Bedarf für die weitere Fehlerbehandlung verwendet werden.