Criterio ResponseCache

Questa pagina si applica a Apigee e Apigee ibridi.

Visualizza documentazione di Apigee Edge.

icona norme

Memorizza nella cache i dati di una risorsa di backend, riducendo il numero di richieste alla risorsa. Come app richieste allo stesso URI, puoi usare questo criterio per restituire le risposte memorizzate nella cache anziché inoltrando queste richieste al server di backend. Il criterio ResponseCache può migliorare la capacità delle prestazioni grazie a latenza ridotta e traffico di rete.

Questo criterio è una norma estendibile e il suo utilizzo potrebbe comportare costi o di utilizzo delle applicazioni, a seconda della licenza Apigee. Per informazioni sui tipi di norme e le implicazioni per l'utilizzo, consulta Tipi di criteri.

Probabilmente troverai ResponseCache più utile quando i dati di backend utilizzati dalla tua API vengono aggiornati solo periodicamente. Ad esempio, immagina di avere un'API che espone i dati del bollettino meteo. solo ogni dieci minuti. Utilizzando ResponseCache per restituire le risposte memorizzate nella cache tra degli aggiornamenti, puoi ridurre il numero di richieste che raggiungono il backend. Questo riduce anche di hop di rete.

Per la memorizzazione nella cache a breve termine per uso generico, valuta la possibilità di utilizzare il criterio compileCache. Questo criterio viene utilizzato insieme al criterio LookupCache (per la lettura delle voci della cache) e Criterio InvalidateCache (per voci non valide).

Guarda il seguente video per un'introduzione al criterio Cache di risposta.

Esempi

10 minuti di cache

Questo esempio mostra come conservare le risposte memorizzate nella cache per 10 minuti.

Supponi di avere un'API al seguente URL:

http://{org_name}-test.apigee.net/weather/forecastrss?w=23424778

Stai utilizzando il parametro di query w come chiave cache. Apigee controlla del parametro di query w ogni volta che viene ricevuta una richiesta. Se valido (ossia è "non scaduto"), il messaggio di risposta memorizzato nella cache viene restituito al cliente richiedente.

Ora immagina di avere un criterio ResponseCache configurato come segue.

<ResponseCache name="ResponseCache">
    <CacheKey>
        <KeyFragment ref="request.queryparam.w" />
    </CacheKey>
    <ExpirySettings>
        <TimeoutInSeconds>600</TimeoutInSeconds>
    </ExpirySettings>
</ResponseCache>

La prima volta che il proxy API riceve un messaggio di richiesta per il seguente URL, la risposta viene memorizzata nella cache. Alla seconda richiesta entro 10 minuti viene eseguita una ricerca nella cache: il la risposta memorizzata nella cache viene restituita all'app senza alcuna richiesta inoltrata al servizio di backend.

http://{org_name}-test.apigee.net/weather/forecastrss?w=23424778

Ignora ricerca cache

L'esempio seguente mostra come fare in modo che la ricerca cache venga saltata e come fare in modo che la cache aggiornato. Vedi anche questo video sull'uso di SkipCacheLookup.

La condizione facoltativa SkipCacheLookup (se configurata) viene valutata nel percorso della richiesta. Se la condizione restituisce true, la ricerca della cache viene saltata e la cache viene aggiornato.

Un uso comune dell'aggiornamento condizionale della cache è una condizione che definisce un che fa sì che la condizione restituisca true. Un'applicazione client basata su script può essere configurata in modo da inviare periodicamente una richiesta con l'intestazione HTTP appropriata, causando l'aggiornamento della cache delle risposte.

Immagina ad esempio una chiamata a un'API al seguente URL:

'http://{org_name}-test.apigee.net/weather/forecastrss?w=23424778' -H "bypass-cache:true"

Ora immagina il seguente criterio ResponseCache configurato su quel proxy. Tieni presente che la condizione bypass-cache è impostata su true.

<ResponseCache name="ResponseCache">
    <CacheKey>
        <KeyFragment ref="request.queryparam.w" />
    </CacheKey>
    <!-- Explicitly refresh the cached response -->
    <SkipCacheLookup>request.header.bypass-cache = "true"</SkipCacheLookup>
    <ExpirySettings>
        <TimeoutInSeconds>600</TimeoutInSeconds>
    </ExpirySettings>
</ResponseCache>

Per ulteriori informazioni sulle condizioni, consulta Variabili di flusso e .

Riferimento elemento

Il riferimento agli elementi descrive gli elementi e gli attributi del criterio.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ResponseCache async="false" continueOnError="false" enabled="true" name="Response-Cache-1">
    <DisplayName>Response Cache 1</DisplayName>
    <Properties/>
    <CacheKey>
        <Prefix/>
        <KeyFragment ref="request.uri" />
    </CacheKey>
    <Scope>Exclusive</Scope>
    <ExpirySettings>
        <ExpiryDate/>
        <TimeOfDay/>
        <TimeoutInSeconds ref="flow.variable.here">300</TimeoutInSeconds>
    </ExpirySettings>
    <CacheResource>cache_to_use</CacheResource>
    <CacheLookupTimeoutInSeconds/>
    <ExcludeErrorResponse/>
    <SkipCacheLookup/>
    <SkipCachePopulation/>
    <UseAcceptHeader/>
    <UseResponseCacheHeaders/>
</ResponseCache>

&lt;ResponseCache&gt; attributi

<ResponseCache async="false" continueOnError="false" enabled="true" name="Response-Cache-1">

La tabella seguente descrive gli attributi comuni a tutti gli elementi principali dei criteri:

Attributo Descrizione Predefinito Presenza
name

Il nome interno della norma. Il valore dell'attributo name può contenere lettere, numeri, spazi, trattini, trattini bassi e punti. Questo valore non può superare i 255 caratteri.

Facoltativamente, utilizza l'elemento <DisplayName> per etichettare il criterio nell'editor proxy dell'interfaccia utente di gestione con un nome diverso in linguaggio naturale.

N/A Obbligatorio
continueOnError

Impostalo su false per restituire un errore in caso di errore di un criterio. Questo è il comportamento previsto per la maggior parte dei criteri.

Imposta su true per fare in modo che l'esecuzione del flusso continui anche in caso di errore di un criterio. Vedi anche:

false Facoltativo
enabled

Imposta il criterio su true per applicare il criterio.

Impostala su false per disattivare il criterio. Il criterio non verrà applicato anche se rimane associato a un flusso.

true Facoltativo
async

Questo attributo è obsoleto.

false Deprecata

Elemento <DisplayName>

Utilizzalo in aggiunta all'attributo name per etichettare il criterio nell'editor proxy dell'interfaccia utente di gestione con un nome diverso in linguaggio naturale.

<DisplayName>Policy Display Name</DisplayName>
Predefinito

N/A

Se ometti questo elemento, viene utilizzato il valore dell'attributo name del criterio.

Presenza Facoltativo
Tipo Stringa

&lt;CacheKey&gt; elemento

Configura un puntatore univoco a un dato archiviato nella cache.

La dimensione delle chiavi cache è limitata a 2 kB.

<CacheKey>
    <Prefix>string</Prefix>
    <KeyFragment ref="variable_name" />
    <KeyFragment>literal_string</KeyFragment>
</CacheKey>

Predefinita:

N/D

Presenza:

Obbligatorio

Tipo:

N/D

<CacheKey> crea il nome di ogni dato archiviato nella cache. La chiave viene spesso impostata utilizzando un valore delle intestazioni delle entità o dei parametri di query. In questi casi, Fai in modo che l'attributo ref dell'elemento specifichi una variabile contenente il valore-chiave.

In fase di runtime, i valori <KeyFragment> vengono anteposti al Valore dell'elemento <Scope> o valore <Prefix>. Ad esempio, la seguente determina la creazione di una chiave cache UserToken__apiAccessToken__&lt;value_of_client_id&gt;:

<CacheKey>
    <Prefix>UserToken</Prefix>
    <KeyFragment>apiAccessToken</KeyFragment>
    <KeyFragment ref="request.queryparam.client_id" />
</CacheKey>

Utilizzi l'elemento <CacheKey> in combinazione con <Prefix> e <Scope>. Per ulteriori informazioni, vedi Utilizzo delle chiavi cache.

&lt;CacheLookupTimeoutInSeconds&gt; elemento

Specifica il numero di secondi dopo i quali una ricerca nella cache non riuscita viene considerata fallimento della cache. In questo caso, il flusso riprende lungo il percorso cache-miss.

<CacheLookupTimeoutInSeconds>30</CacheLookupTimeoutInSeconds>

Predefinita:

30

Presenza:

Facoltativo

Tipo:

Numero intero

&lt;CacheResource&gt; elemento

Specifica la cache in cui devono essere archiviati i messaggi. Ometti questo elemento per utilizzare l'attributo incluso e la cache condivisa. Devi specificare un CacheResource per nome se vuoi poter cancellare a livello amministrativo le voci contenute nella cache. Per ulteriori informazioni, consulta l'articolo sull'API Caches.

<CacheResource>cache_to_use</CacheResource>

Predefinita:

N/D

Presenza:

Facoltativo

Tipo:

Stringa

&lt;CacheKey&gt;/&lt;KeyFragment&gt; elemento

Specifica un valore che deve essere incluso nella chiave cache, creando uno spazio dei nomi per la corrispondenza alle risposte memorizzate nella cache.

<KeyFragment ref="variable_name"/>
<KeyFragment>literal_string</KeyFragment>

Predefinita:

N/D

Presenza:

Facoltativo

Tipo:

N/D

Può essere una chiave (un nome statico da te fornito) o un valore (una voce dinamica impostata mediante che fa riferimento a una variabile). Tutti i frammenti specificati combinati (più il prefisso) sono concatenati in per creare la chiave cache.

<KeyFragment>apiAccessToken</KeyFragment>
<KeyFragment ref="request.queryparam.client_id" />

Utilizzi l'elemento <KeyFragment> insieme a <Prefix> e <Scope>. Per ulteriori informazioni, vedi Utilizzo delle chiavi cache.

Attributi

Attributo Tipo Predefinito Obbligatorio Descrizione
riferimento string No

La variabile da cui ottenere il valore. Non deve essere utilizzato se questo elemento contiene un valore letterale.

&lt;CacheKey&gt;/&lt;Prefix&gt; elemento

Specifica un valore da utilizzare come prefisso della chiave cache.

<Prefix>prefix_string</Prefix>

Predefinita:

N/D

Presenza:

Facoltativo

Tipo:

Stringa

Utilizza questo valore anziché <Scope> quando vuoi specificare un valore personale anziché un valore enumerato <Scope>. Se definito, <Prefix> antepone il valore della chiave cache per le voci scritte nella cache. R Il valore dell'elemento <Prefix> sostituisce un elemento <Scope> valore.

Utilizzi l'elemento <Prefix> in combinazione con <CacheKey> e <Scope>. Per ulteriori informazioni, vedi Utilizzo delle chiavi cache.

&lt;ExcludeErrorResponse&gt; elemento

Attualmente, per impostazione predefinita, questo criterio memorizza nella cache le risposte HTTP con qualsiasi possibile Codice di stato. Ciò significa che sia le risposte di successo che quelle di errore vengono memorizzate nella cache. Ad esempio, le risposte con entrambi i codici di stato 2xx e 3xx vengono memorizzati nella cache per impostazione predefinita.

Imposta questo elemento su true se non vuoi memorizzare il target nella cache risposte con codici di stato di errore HTTP; saranno disponibili solo le risposte con codici di stato da 200 a 205 memorizzato nella cache se questo elemento è vero. Questi sono gli unici codici di stato HTTP che Apigee conteggia come "riuscito" e non puoi cambiare questa associazione.

Per una discussione sui pattern di Response Cache in cui questo elemento è utile, vedi Introduzione agli anti-pattern.

<ExcludeErrorResponse>true</ExcludeErrorResponse>

Predefinita:

falso

Presenza:

Facoltativo

Tipo:

Booleano

&lt;ExpirySettings&gt; elemento

Specifica quando deve scadere una voce della cache. Se presente, <TimeoutInSeconds> esegue l'override di <TimeOfDay> e <ExpiryDate>.

<ExpirySettings>
  <TimeOfDay ref="time_variable">expiration_time</TimeOfDay>
  <TimeoutInSeconds ref="duration_variable">seconds_until_expiration</TimeoutInSeconds>
  <ExpiryDate ref="date_variable">expiration_date</ExpiryDate>
</ExpirySettings>

Predefinita:

N/D

Presenza:

Obbligatorio

Tipo:

N/D

&lt;ExpirySettings&gt;/&lt;ExpiryDate&gt; elemento

Specifica la data in cui una voce della cache deve scadere. Utilizza il modulo mm-dd-yyyy. Se presente, l'elemento di pari livello di questo elemento, <TimeoutInSeconds>, sostituisce <ExpiryDate>.

<ExpirySettings>
    <ExpiryDate ref="{date_variable}">expiration_date</ExpiryDate>
</ExpirySettings>

Predefinita:

N/D

Presenza:

Facoltativo

Tipo:

Stringa

Attributi

<ExpiryDate ref="" />
Attributo Descrizione Predefinito Presenza Tipo
riferimento

La variabile da cui ottenere il valore. Non deve essere utilizzato se questo elemento contiene un valore letterale.

N/D Facoltativo Stringa

&lt;ExpirySettings&gt;/&lt;TimeOfDay&gt; elemento

L'ora del giorno in cui una voce della cache dovrebbe scadere. Utilizza il modulo hh:mm:ss . Se presente, l'elemento di pari livello di questo elemento, <TimeoutInSeconds>, sostituisce <TimeOfDay>.

Inserisci l'ora nel formato HH:mm:ss, dove HH rappresenta l'ora nel formato a 24 ore. Per ad esempio 14:30:00 per le 14:30 del pomeriggio.

Per l'ora del giorno, le impostazioni internazionali e il fuso orario predefiniti variano a seconda di dove si trova il codice (che non è noto quando configuri il criterio).

<ExpirySettings>
    <TimeOfDay ref="time_variable">expiration_time</TimeOfDay>
</ExpirySettings>

Predefinita:

N/D

Presenza:

Facoltativo

Tipo:

Stringa

Attributi

Attributo Descrizione Predefinito Presenza Tipo
riferimento Variabile con il valore dell'ora di scadenza. N/D Facoltativo Stringa

&lt;ExpirySettings&gt;/&lt;TimeoutInSec&gt; elemento

Il numero di secondi dopo il quale una voce della cache deve scadere.

<ExpirySettings>/<TimeoutInSeconds> elemento

Il numero di secondi dopo il quale una voce della cache deve scadere. Se presente, questo elemento esegue l'override degli elementi di pari livello, <TimeOfDay> e <ExpiryDate>.

<ExpirySettings>
    <TimeoutInSeconds ref="duration_variable">seconds_until_expiration</TimeoutInSeconds>
</ExpirySettings>

Predefinita:

N/D

Presenza:

Facoltativo

Tipo:

Stringa

Attributi

Attributo Descrizione Predefinito Presenza Tipo
riferimento Variabile con il valore di timeout.
N/D
Facoltativo Stringa

<Scope> elemento

Enumerazione utilizzata per costruire un prefisso per una chiave cache quando <Prefix> non è fornito nell'elemento <CacheKey>.

<Scope>scope_enumeration</Scope>

Predefinita:

"Esclusiva"

Presenza:

Facoltativo

Tipo:

Stringa

L'impostazione <Scope> determina una chiave cache che viene anteposta in base al il valore <Scope>. Ad esempio, una chiave cache assume il seguente formato quando l'ambito è impostato su Exclusive : orgName__envName__apiProxyName__deployedRevisionNumber__proxy|TargetName__ [ serializedCacheKey ].

Se un elemento <Prefix> è presente in <CacheKey>, sostituisce un valore dell'elemento <Scope>. I valori validi includono le enumerazioni di seguito.

Utilizzi l'elemento <Scope> in combinazione con <CacheKey> e <Prefix>. Per ulteriori informazioni, vedi Utilizzo delle chiavi cache.

Valori accettabili

Valore ambito Descrizione
Global

La chiave cache viene condivisa tra tutti i proxy API di cui è stato eseguito il deployment nell'ambiente. La chiave cache è anteposto nel formato orgName __ envName __.

Se definisci una voce <CacheKey> con <KeyFragment> di apiAccessToken e di un ambito <Global>, ogni voce viene archiviata come orgName__envName__apiAccessToken, seguito dalla valore serializzato del token di accesso. Per un proxy API distribuito in un ambiente denominato 'test' in un'organizzazione chiamata "apifactory", i token di accesso venivano seguente chiave cache: apifactory__test__apiAccessToken.

Application

Il nome del proxy API viene utilizzato come prefisso.

La chiave cache è anteposta nel formato orgName__envName__apiProxyName.

Proxy

Come prefisso viene utilizzata la configurazione ProxyEndpoint.

La chiave della cache viene anteposta nel formato orgName__envName__apiProxyName__deployedRevisionNumber__proxyEndpointName .

Target

Come prefisso viene utilizzata la configurazione TargetEndpoint.

Chiave cache anteposta nel modulo orgName__envName__apiProxyName__deployedRevisionNumber__targetEndpointName .

Exclusive

Predefinita. Si tratta della risposta più specifica e presenta quindi un rischio minimo di spazio dei nomi di conflitti all'interno di una determinata cache.

Il prefisso può essere di due tipi:

  • Se il criterio è collegato al flusso ProxyEndpoint, il prefisso è il nel formato ApiProxyName_ProxyEndpointName.
  • Se il criterio è allegato a TargetEndpoint, il prefisso è nel formato ApiProxyName_TargetName.

Chiave cache anteposta nel modulo orgName__envName__apiProxyName__deployedRevisionNumber__proxyNameITargetName

Ad esempio, la stringa completa potrebbe essere simile alla seguente:

apifactory__test__weatherapi__16__default__apiAccessToken
.

&lt;SkipCacheLookup&gt; elemento

Definisce un'espressione che, se restituisce true in fase di runtime, specifica la ricerca cache e la cache dovrebbe essere aggiornata. Vedi anche Utilizzo del video sul criterio ResponseCache sull'utilizzo di SkipCacheLookup.

<SkipCacheLookup>variable_condition_expression</SkipCacheLookup>

Predefinita:

N/D

Presenza:

Facoltativo

Tipo:

Stringa

Dall'esempio seguente, se la variabile bypass-cache è impostata su true in un'intestazione in entrata, la ricerca cache viene saltata e la cache viene aggiornata.

<SkipCacheLookup>request.header.bypass-cache = "true"</SkipCacheLookup>

&lt;SkipCachePopulation&gt; elemento

Definisce un'espressione che, se restituisce true in fase di runtime, specifica che una scrittura nel la copia cache del server. Vedi anche questo video sull'uso di SkipCachePopulation.

<SkipCachePopulation>variable_condition_expression</SkipCachePopulation>

Predefinita:

N/D

Presenza:

Facoltativo

Tipo:

Stringa

Ad esempio, quanto segue ignora la scrittura della cache se il codice di stato della risposta è 400 o superiore:

<SkipCachePopulation>response.status.code >= 400</SkipCachePopulation>

&lt;UseAcceptHeader&gt; elemento

Imposta su true per aggiungere alla chiave cache di una voce di risposta della cache con i valori da Accetta le intestazioni nella risposta.

Apigee utilizza Accept, Accept-Encoding, Accept-Language e Accept-Charset durante il calcolo della chiave cache. Questo approccio impedisce ai client di ottenere un tipo di media che non ha richiesto.

Ad esempio, considera se due richieste provengono dallo stesso URL, in cui la prima richiesta accetta gzip, al contrario della seconda. La prima richiesta viene memorizzata nella cache e la voce memorizzata (probabilmente) essere una risposta in formato gzip. La seconda richiesta leggerà il valore memorizzato nella cache e potrebbe quindi restituisce una voce compressa con gzip a un client che non è in grado di leggere gzip.

Per ulteriori informazioni, consulta Configurazione di una chiave cache.

<UseAcceptHeader>false</UseAcceptHeader>

Predefinita:

falso

Presenza:

Facoltativo

Tipo:

Booleano

&lt;UseResponseCacheHeaders&gt; elemento

Imposta true per considerare le intestazioni delle risposte HTTP quando imposti l'"ora di pubblicato" (TTL) della risposta nella cache. In questo caso, Apigee considera i valori le seguenti intestazioni di risposta, confrontando i valori con quelli impostati <ExpirySettings> quando imposti la durata (TTL):

  • Cache-Control s-maxage
  • Cache-Control max-age
  • Expires

Per ulteriori informazioni, consulta Impostare la scadenza delle voci di cache i dettagli.

<UseResponseCacheHeaders>false</UseResponseCacheHeaders>

Predefinita:

falso

Presenza:

Facoltativo

Tipo:

Booleano

Note sull'utilizzo

La dimensione massima per ogni oggetto memorizzato nella cache è 256 kB. (per informazioni dettagliate su come Apigee di cache, vedi Cache dati interni.

Tramite la configurazione nel criterio ResponseCache, è possibile fare in modo che Apigee includa una risposta HTTP come intestazioni nell'impostazione della scadenza delle voci di cache e delle chiavi cache. In questa sezione viene descritto che puoi utilizzare con intestazioni per gestire la scadenza e le chiavi cache.

Per saperne di più su come Apigee gestisce le intestazioni delle risposte con il criterio ResponseCache, vedi Supporto per le intestazioni delle risposte HTTP.

Impostazione della scadenza delle voci della cache

Come con il criterio compileCache, puoi impostare la scadenza (la sua durata) di una voce della cache di risposta utilizzando il metodo Elemento <ExpirySettings>. Nel criterio ResponseCache puoi anche usare Apigee prendi in considerazione le intestazioni delle risposte, se presenti.

Per utilizzare le intestazioni delle risposte, imposta il valore dell'elemento <UseResponseCacheHeaders> su vero. Questa impostazione fa sì che Apigee consideri le intestazioni delle risposte, le confrontino con il valore impostato per <ExpirySettings>, quindi utilizza il valore più basso tra i due. Quando considerando le intestazioni della risposta, Apigee sceglie il valore disponibile come descritto seguenti:

Diagramma che mostra cosa succede quando imposti UseResponseCacheHeaders su true.

Ad esempio, immagina che una risposta venga memorizzata nella cache con i seguenti valori:

  • Nessun valore Cache-Control s-maxage
  • Un valore Cache-Control max-age pari a 300
  • Una data Expires tra tre giorni
  • Un valore TimeoutInSeconds <ExpirySettings> pari a 600.

In questo caso, per il campo max-age viene utilizzato il valore Cache-Control TTL perché è inferiore al valore <ExpirySettings> e perché è presente nessun valore Cache-Control s-maxage (che ha la precedenza su max-age).

Configurazione di una chiave cache

Come per i criteri generali della cache, come il criterio compileCache, con ResponseCache per cui utilizzi gli elementi <CacheKey> e <Scope> configurare la creazione di chiavi cache per le voci della cache. Con ResponseCache puoi anche creare chiavi cache più significativi facendo aggiungere le intestazioni Accettate ai valori chiave della risposta.

Per informazioni generali sulla configurazione delle chiavi cache, consulta la sezione Utilizzo delle chiavi cache. Per informazioni sull'utilizzo delle intestazioni Accept, consulta <UseAcceptHeader>.

Informazioni sulla crittografia della cache

Apigee e Apigee hybrid (versione 1.4 e successive): cache e KVM i dati sono sempre criptati.

Variabili di flusso

Le seguenti variabili di flusso predefinite vengono compilate quando viene eseguito un criterio ResponseCache. Per ulteriori informazioni sulle variabili di flusso, consulta Riferimento per le variabili di flusso.

Variabili Tipo Autorizzazione Descrizione
responsecache.{policy_name}.cachename Stringa Sola lettura Restituisce la cache utilizzata nel criterio
responsecache.{policy_name}.cachekey Stringa Sola lettura Restituisce la chiave utilizzata
responsecache.{policy_name}.cachehit Booleano Sola lettura True se l'esecuzione del criterio è riuscita
responsecache.{policy_name}.invalidentry Booleano Sola lettura True se la voce della cache non è valida

Codici di errore

Questa sezione descrive i messaggi di errore e le variabili di flusso che vengono impostati quando questo criterio attiva un errore. Queste informazioni sono importanti per sapere se stai sviluppando regole di errore per un proxy. Per scoprire di più, consulta gli articoli Cosa devi sapere sugli errori relativi alle norme e Gestione degli errori.

Prefisso codice di errore

N/A

Errori di runtime

Questo criterio non genera errori di runtime.

Errori di deployment

Questi errori possono verificarsi quando esegui il deployment di un proxy contenente questo criterio.

Nome errore Causa Correggi
InvalidTimeout Se l'elemento <CacheLookupTimeoutInSeconds> del criterio ResponseCache viene impostato su un numero negativo, il deployment del proxy API non va a buon fine.
InvalidCacheResourceReference Questo errore si verifica se l'elemento <CacheResource> in un criterio ResponseCache è impostato su un nome che non esiste nell'ambiente in cui viene eseguito il deployment del proxy API.
ResponseCacheStepAttachmentNotAllowedReq Questo errore si verifica se lo stesso criterio ResponseCache è associato a più percorsi di richiesta all'interno di qualsiasi flusso di un proxy API.
ResponseCacheStepAttachmentNotAllowedResp Questo errore si verifica se lo stesso criterio ResponseCache è collegato a più percorsi di risposta all'interno di qualsiasi flusso di un proxy API.
InvalidMessagePatternForErrorCode Questo errore si verifica se l'elemento <SkipCacheLookup> o <SkipCachePopulation> in un criterio ResponseCache contiene una condizione non valida.
CacheNotFound Questo errore si verifica se la cache specifica menzionata nel messaggio di errore non è stata creata su un componente specifico dell'processore di messaggi.

Variabili di errore

N/A

Esempio di risposta di errore

N/A

Schema

Ogni tipo di criterio è definito da uno schema XML (.xsd). Come riferimento, consulta gli schemi dei criteri sono disponibili su GitHub.