Richtlinien in XML-Dateien anhängen und konfigurieren

Diese Seite gilt für Apigee und Apigee Hybrid.

Apigee Edge-Dokumentation aufrufen

Sie können Richtlinien mit Ihrem bevorzugten Text- oder XML-fähigen Editor oder Ihrer IDE lokal erstellen und bearbeiten. In diesem Thema wird der Kontingentrichtlinientyp als Beispiel für das Erstellen, Konfigurieren, Anhängen, Bereitstellen und Testen von Richtlinien verwendet.

Die meisten API-Proxys erzwingen ein Kontingent. Kontingente steuern, wie häufig eine Clientanwendung das Aufrufen einer API über ein bestimmtes Zeitintervall zulassen darf. Im folgenden Beispiel wird eine Kontingentrichtlinie konfiguriert, um Anwendungen auf eine Anfrage pro Minute zu beschränken. Auch wenn dies nicht realistisch ist, bietet es eine einfache Möglichkeit, die Auswirkungen einer Richtlinie zu sehen.

In einer API-Proxykonfiguration werden Richtliniendateien als XML-Dateien im Verzeichnis /apiproxy/policies gespeichert.

Beispielsweise könnte eine Richtlinie des Typs „Kontingentrichtlinie“ als Datei namens QuotaPolicy.xml mit folgendem Inhalt erstellt werden:

<Quota enabled="true" continueOnError="false" name="QuotaPolicy">
    <Allow count="1"/>
    <Interval>1</Interval>
    <TimeUnit>minute</TimeUnit>
</Quota>

Sie können Textdateien manuell erstellen oder aus einem XML-Schema generieren. Alle Richtlinien haben Einstellungen, die für den jeweiligen Richtlinientyp spezifisch sind, und andere Einstellungen, die für alle Richtlinien gelten.

Wenn Sie in der Verwaltungsoberfläche Richtlinien hinzufügen, generiert der API-Proxy-Builder die Richtlinieninstanz aus dem XML-Schema für den ausgewählten Richtlinientyp. Daher sehen Sie in der Richtlinienkonfiguration möglicherweise Elemente, die nicht immer in der Dokumentation enthalten sind.

Alle Richtlinien definieren folgende Attribute:

  • enabled: Gibt an, ob die Richtlinie aktiviert oder deaktiviert ist. Über diese Einstellung können Richtlinien zur Laufzeit aktiviert/deaktiviert werden. Eine Richtlinie, bei der enabled auf false gesetzt ist, wird nicht erzwungen.
  • continueOnError: Definiert, ob die Pipeline die Nachricht weiter verarbeiten soll, wenn die Richtlinie fehlschlägt. Bei der Durchsetzung von Kontingentrichtlinien geben Fehler wahrscheinlich an, dass das Kontingent überschritten wurde. Dieses Attribut sollte daher auf „false“ gesetzt werden.
  • name: Der Name, den Sie der Richtlinie geben. Dieser Name ist für die Richtlinieninstanz einmalig und wird verwendet, um die Richtlinie als Verarbeitungsschritt an den Ablauf anzuhängen.

Im obigen Beispiel gelten die Elemente Allow, Interval und TimeUnit speziell für die Kontingentrichtlinie. Diese Elemente bieten Einstellungen, die API-Dienste für eine API erzwingen. Mit anderen Richtlinientypen werden eigene Einstellungen definiert, die Sie in der Richtlinienreferenz nachlesen können.