Anmerkung
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
GILT FÜR: Alle API Management-Ebenen
Verwenden Sie die cache-lookup-Richtlinie zum Durchführen einer Cachesuche und im Erfolgsfall zum Zurückgeben einer gültigen Antwort aus dem Cache. Diese Richtlinie kann in Fällen angewendet werden, in denen sich der Inhalt von Antworten über längere Zeit nicht ändert. Das Zwischenspeichern von Antworten senkt die Bandbreitennutzung und die Prozessoranforderungen auf dem Back-End-Webserver und verringert die Latenz für API-Consumer.
Hinweis
Diese Richtlinie setzt das Vorhandensein einer entsprechenden Richtlinie In Cache ablegen voraus.
Wichtig
Der integrierte Cache ist flüchtig und wird von allen Einheiten in derselben Region desselben API Management-Diensts gemeinsam genutzt.
Hinweis
Legen Sie die Elemente und untergeordneten Elemente einer Richtlinie in der Reihenfolge fest, die in der Richtlinienanweisung angegeben ist. Das Portal unterstützt Sie bei der Konfiguration dieser Richtlinie durch einen formularbasierten, angeleiteten Editor. Erfahren Sie mehr darüber, wie Sie API Management-Richtlinien festlegen oder bearbeiten.
Richtlinienanweisung
<cache-lookup vary-by-developer="true | false" vary-by-developer-groups="true | false" caching-type="prefer-external | external | internal" downstream-caching-type="none | private | public" must-revalidate="true | false" allow-private-response-caching="@(expression to evaluate)">
<vary-by-header>Accept</vary-by-header>
<!-- should be present in most cases -->
<vary-by-header>Accept-Charset</vary-by-header>
<!-- should be present in most cases -->
<vary-by-header>Authorization</vary-by-header>
<!-- should be present when allow-private-response-caching is "true"-->
<vary-by-header>header name</vary-by-header>
<!-- optional, can be repeated -->
<vary-by-query-parameter>parameter name</vary-by-query-parameter>
<!-- optional, can be repeated -->
</cache-lookup>
Attribute
| Attribut | BESCHREIBUNG | Erforderlich | Standard |
|---|---|---|---|
| Allow-private-response-caching | Bei Festlegung auf true wird das Zwischenspeichern von Anforderungen erlaubt, die einen Autorisierungsheader enthalten. Richtlinienausdrücke sind zulässig. |
Nein | false |
| Cachetyp | Wählen Sie aus den folgenden Attributwerten: - internal zur Verwendung des integrierten API Management-Caches- external zur Verwendung des externen Caches (siehe - ),- prefer-external zur Verwendung des externen Caches (sofern konfiguriert); andernfalls wird der interne Cache verwendet.Richtlinienausdrücke sind nicht zulässig. |
Nein | prefer-external |
| Downstream-Caching-Typ | Dieses Attribut muss auf einen der folgenden Werte festgelegt werden. – none: Downstreamzwischenspeicherung ist unzulässig. – private: Private Downstreamzwischenspeicherung ist zulässig. – public: Private und gemeinsam genutzte Downstreamzwischenspeicherung ist zulässig. Richtlinienausdrücke sind zulässig. |
Nein | Keine |
| muss neu validiert werden | Wenn die Downstreamzwischenspeicherung aktiviert ist, aktiviert oder deaktiviert dieses Attribut die must-revalidate-Cachesteuerungsanweisung in Gatewayantworten. Richtlinienausdrücke sind zulässig. |
Nein | true |
| vary-by-developer | Legen Sie den Parameter auf true fest, um Antworten pro Entwicklerkonto zwischenzuspeichern, das den in der Anforderung enthaltenen true besitzt. Richtlinienausdrücke sind zulässig. |
Ja | false |
| vary-by-developer-groups | Legen Sie diese Option auf true fest, um Antworten true zwischenzuspeichern. Richtlinienausdrücke sind zulässig. |
Ja | false |
Elemente
| Name | BESCHREIBUNG | Erforderlich |
|---|---|---|
| vary-by-header | Fügen Sie mindestens eines dieser Elemente hinzu, um das Zwischenspeichern von Antworten pro Wert des angegebenen Headers zu starten, z. B. Accept, Accept-Charset, Accept-Encoding, Accept-Language, Authorization, Expect, From, Host, If-Match. |
Nein |
| vary-by-query-parameter | Fügen Sie mindestens eines dieser Elemente hinzu, um das Zwischenspeichern von Antworten pro Wert der angegebenen Abfrageparameter zu starten. Geben Sie einen oder mehrere Parameter an. Verwenden Sie Semikolons als Trennzeichen. | Nein |
Verwendung
- Richtlinienabschnitte: inbound
- Richtlinienbereiche: global, Arbeitsbereich, Produkt, API, Vorgang
- Gateways: klassisch, v2, Verbrauch, selbstgehostet, Arbeitsbereich
Hinweise zur Verwendung
- API Management führt die Cachesuche nur für HTTP GET-Anforderungen durch.
- Bei Verwendung von
vary-by-query-parameterempfiehlt es sich gegebenenfalls, die Parameter in der Vorlage „rewrite-uri“ zu deklarieren oder das Attributcopy-unmatched-paramsauffalsefestzulegen. Wenn Sie dieses Flag deaktivieren, werden nicht deklarierte Parameter an das Back-End gesendet.
- Diese Richtlinie kann nur einmal in einem Richtlinienabschnitt verwendet werden.
- Diese Richtlinie wird in einem Richtlinienfragment nicht unterstützt.
- Es wird empfohlen, eine Richtlinie für Die Rate-Limit -Richtlinie (oder eine Richtlinie mit einem Satzgrenzwert nach Schlüsseln ) unmittelbar nach jeder Cachesuche zu konfigurieren. Dadurch wird verhindert, dass Ihr Back-End-Dienst überlastet wird, wenn der Cache nicht verfügbar ist.
Beispiele
Beispiel mit entsprechender Cachespeicherrichtlinie
In diesem Beispiel wird gezeigt, wie Sie die cache-store Richtlinie zusammen mit einer cache-lookup Richtlinie verwenden, um Antworten im integrierten API-Verwaltungscache zwischenzuspeichern.
Hinweis
Fügen Sie nach der Cache-Suche eine Rate-Limit-Policy (oder Rate-Limit-by-Key-Policy ) hinzu, um die Anzahl der Anrufe zu begrenzen und Überlastung des Backend-Services zu vermeiden, falls der Cache nicht verfügbar ist.
<policies>
<inbound>
<base />
<cache-lookup vary-by-developer="false" vary-by-developer-groups="false" downstream-caching-type="none" must-revalidate="true" caching-type="internal" >
<vary-by-query-parameter>version</vary-by-query-parameter>
</cache-lookup>
<rate-limit calls="10" renewal-period="60" />
</inbound>
<outbound>
<cache-store duration="seconds" />
<base />
</outbound>
</policies>
Beispiel für die Verwendung von Richtlinienausdrücken
Dieses Beispiel zeigt die Konfiguration der Dauer des API Management-Antwortcachings. Diese entspricht dem Zwischenspeichern von Antworten des Back-End-Diensts wie durch die Cache-Control-Anweisung des Back-End-Diensts angegeben.
<!-- The following cache policy snippets demonstrate how to control API Management response cache duration with Cache-Control headers sent by the backend service. -->
<!-- Copy this snippet into the inbound section -->
<cache-lookup vary-by-developer="false" vary-by-developer-groups="false" downstream-caching-type="public" must-revalidate="true" >
<vary-by-header>Accept</vary-by-header>
<vary-by-header>Accept-Charset</vary-by-header>
</cache-lookup>
<rate-limit calls="10" renewal-period="60" />
<!-- Copy this snippet into the outbound section. Note that cache duration is set to the max-age value provided in the Cache-Control header received from the backend service or to the default value of 5 min if none is found -->
<cache-store duration="@{
var header = context.Response.Headers.GetValueOrDefault("Cache-Control","");
var maxAge = Regex.Match(header, "@(max-age=(?<maxAge>\\d+))").Groups["maxAge"]?.Value;
return (!string.IsNullOrEmpty(maxAge))?int.Parse(maxAge):300; }" />
Weitere Informationen finden Sie unter Richtlinienausdrücke und Kontextvariable.
Verwandte Richtlinien
Zugehöriger Inhalt
Weitere Informationen zum Arbeiten mit Richtlinien finden Sie hier:
- Tutorial: Transformieren und Schützen Ihrer API
- Unter Richtlinien für die API-Verwaltung finden Sie eine komplette Liste der Richtlinienanweisungen und der zugehörigen Einstellungen.
- Richtlinienausdrücke
- Festlegen oder Bearbeiten von Richtlinien
- Wiederverwenden von Richtlinienkonfigurationen
- Repository für Richtliniencodeausschnitte
- Richtlinien-Playground-Repository
- Azure API Management-Richtlinientoolkit
- Anfordern von Copilot-Unterstützung zum Erstellen, Erläutern und Problembehandlung von Richtlinien