<ph type="x-smartling-placeholder"></ph>
Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie zur
Apigee X-Dokumentation. Weitere Informationen
Übersicht
Mit der Richtlinie „MonetizationLimitsCheck“ kannst du Monetarisierungslimits für deine API-Aufrufe erzwingen vom App-Entwickler.
Die Richtlinie wird unter anderem in folgenden Fällen ausgelöst:
- Wenn ein App-Entwickler, der auf die monetarisierte API zugreift, kein Abo für verknüpftes API-Produkt
- Das Guthaben auf dem Entwicklerkonto ist nicht ausreichend.
- Der Entwickler hat das Limit für das Transaktionsvolumen überschritten.
Informationen zum Anhängen der Richtlinie an Ihren API-Proxy finden Sie unter Monetarisierungslimits für API-Proxys erzwingen
Element <MonetizationLimitsCheck>
Gibt die Richtlinie „MonetizationLimitsCheck“ 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 anfragenden Client zurückgegeben wird, wenn wird der Fehler ausgegeben. |
<IgnoreUnresolvedVariables> |
Optional | Bestimmt, ob die Verarbeitung beendet wird, wenn eine nicht aufgelöste Variable erkannt wird. |
<Variables> |
Optional | Gibt die Flussvariablen 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 Richtlinie „MonetizationLimitsCheck“:
<?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 | – |
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 | True |
Erforderlich? | Optional |
Typ | Boolesch |
Übergeordnetes Element |
<MonetizationLimitsCheck> |
Untergeordnete Elemente | Keine |
Wenn Sie nicht aufgelöste Variablen ignorieren und die Verarbeitung fortsetzen möchten, setzen Sie den Wert auf true
.
andernfalls false
. Der Standardwert ist true
.
Das Festlegen von <IgnoreUnresolvedVariables>
auf true
unterscheidet sich vom Festlegen des <MonetizationLimitsCheck>
-Elements.
continueOnError
auf true
. Wenn Sie continueOnError
auf true
setzen, ignoriert Apigee:
nur die Variablenfehler,
sondern alle Fehler.
Das <IgnoreUnresolvedVariables>
-Element verwendet die folgende Syntax:
Syntax
<IgnoreUnresolvedVariables>[true|false]</IgnoreUnresolvedVariables>
Beispiel
Im folgenden Beispiel wird für <IgnoreUnresolvedVariables>
der Wert false
festgelegt:
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<Variables>
Gibt die Flussvariablen an, aus denen Sie die Entitäts- oder Ressourcennamen.
Du kannst nur das Element <Product>
innerhalb des Elements <Variables>
angeben. Apigee erhält
API-Produktname aus der im <Product>
-Element angegebenen Flussvariablen Wenn Sie
Wenn Sie das Element <Variables>
nicht angeben, ruft Apigee standardmäßig den API-Produktnamen aus dem
Kontextvariable apiproduct.name
. Durch die Verwendung des API-Produktnamens erhält Apigee die
für das Produkt den entsprechenden Preisplan
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 Ablaufvariable myproductvar.name
abgerufen.
die in Ihrem API-Proxy-Ablauf vorhanden sind.
<Variables> <Product>myproductvar.name</Product> </Variables>
Sie können mithilfe von Richtlinien wie AssignMessage oder JavaScript benutzerdefinierte Flussvariablen 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 Ablaufvariable myproductvar.name
abgerufen.
die in Ihrem API-Proxy-Ablauf vorhanden sind.
<Product>myproductvar.name</Product>
Sie können mithilfe von Richtlinien wie AssignMessage oder JavaScript benutzerdefinierte Flussvariablen festlegen.
<FaultResponse>
Definiert die Antwortnachricht, die bei Auftreten eines Fehlers an den anfordernden Client zurückgegeben wird. Du kannst die Antwort anpassen Nachrichten an Ihre Anforderungen anpassen. Weitere Informationen zur und allen untergeordneten Elementen erhalten Sie unter FaultResponse.
Ablaufvariablen
Wenn Sie für das Element <MonetizationLimitsCheck>
den Wert
Attribut ContinueOnError
auf „true“ gesetzt, es wird kein Fehler ausgelöst. In diesem Fall
Flussvariablen, mint.limitsViolated
, mint.isDeveloperSuspended
und
mint.limitsPolicyError
festgelegt. Mit diesen Variablen können Sie
bei Bedarf weitere Ausnahmen verarbeiten.