<ph type="x-smartling-placeholder"></ph>
Vous consultez la documentation Apigee Edge.
Accédez à la page
Documentation sur Apigee X. En savoir plus
Configure la suppression définitive des valeurs mises en cache.
Cette règle est destinée à être utilisée pour une mise en cache à court terme à usage général. Elle est utilisée conjointement avec la règle PopulateCache (pour l'écriture d'entrées) et la règle LookupCache (pour la lecture des entrées du cache).
Pour la mise en cache des réponses des ressources de backend, consultez la règle de réponse du cache.
Documentation de référence des éléments
Vous trouverez ci-dessous la liste des éléments que vous pouvez configurer pour cette règle.
<InvalidateCache async="false" continueOnError="false" enabled="true" name="policy-name"> <DisplayName>Policy Name</DisplayName> <CacheKey> <Prefix>prefix_string</Prefix> <KeyFragment ref="variable_reference"/> <KeyFragment>fragment_string</KeyFragment> </CacheKey> <!-- Omit this element if you're using the included shared cache. --> <CacheResource>cache_to_use</CacheResource> <Scope>scope_enumeration</Scope> <CacheContext> <APIProxyName>application_that_added_the_entry</APIProxyName> <ProxyName>proxy_for_which_data_was_cached</ProxyName> <TargetName>endpoint_for_which_data_was_cached</TargetName> </CacheContext> <PurgeChildEntries>true_to_purge_all_child_entries</PurgeChildEntries> </InvalidateCache>
Attributs <InvalidateCache>
Le tableau suivant décrit les attributs communs à tous les éléments parents des règles :
Attribut | Description | Par défaut | Présence |
---|---|---|---|
name |
Nom interne de la règle. La valeur de l'attribut Vous pouvez également utiliser l'élément |
ND | Valeur |
continueOnError |
Définissez sur Définissez sur |
faux | Facultatif |
enabled |
Définissez sur Définissez sur |
vrai | Facultatif |
async |
Cet attribut est obsolète. |
faux | Obsolète |
Élément <DisplayName>
Utilisez-le, en plus de l'attribut name
, pour appliquer un libellé à la règle dans l'éditeur de proxys de l'interface de gestion en utilisant un nom différent, en langage naturel.
<DisplayName>Policy Display Name</DisplayName>
Par défaut |
ND Si vous omettez cet élément, la valeur de l'attribut |
---|---|
Présence | Facultatif |
Type | Chaîne |
Élément <CacheContext>/<APIProxyName>
Spécifie le nom de l'application qui a ajouté l'entrée de cache.
<APIProxyName>application_that_added_the_entry</APIProxyName>
Attributs
Attribut | Description | Par défaut | Présence | Type |
---|---|---|---|---|
ref | Variable avec le nom de l'application. | ND | Facultatif | Chaîne |
Élément <CacheContext>
Spécifie comment créer une clé de cache lorsque la valeur de l'élément Prefix
n'est pas définie, ou comment vider les entrées de cache ajoutées par un autre proxy d'API.
<CacheContext> <APIProxyName ref="variable_name">application_that_added_the_entry</APIProxyName> <TargetName ref="variable_name">endpoint_for_which_data_was_cached</TargetName> <ProxyName ref="variable_name">proxy_for_which_data_was_cached</ProxyName> </CacheContext>
Permet de créer la clé CacheKey. Les valeurs APIProxyName, ProxyName et TargetName sont obligatoires lorsqu'un préfixe CacheKey (c'est-à-dire un préfixe personnalisé) n'est pas utilisé pour vider les entrées de cache ajoutées par un autre proxy d'API.
Élément <CacheKey>
Configure un pointeur unique vers un élément de données stocké dans le cache.
<CacheKey> <Prefix>string</Prefix> <KeyFragment ref="variable_name" /> <KeyFragment>literal_string</KeyFragment> </CacheKey>
Valeur par défaut : |
ND |
Présence : |
Requis |
Type : |
ND |
<CacheKey>
crée le nom de chaque élément de données stocké dans le cache.
Au moment de l'exécution, les valeurs <KeyFragment>
sont précédées de la valeur de l'élément <Scope>
ou de la valeur <Prefix>
. Par exemple, les résultats suivants génèrent une clé de cache UserToken__apiAccessToken__
<value_of_client_id> :
<CacheKey> <Prefix>UserToken</Prefix> <KeyFragment>apiAccessToken</KeyFragment> <KeyFragment ref="request.queryparam.client_id" /> </CacheKey>
Vous utilisez conjointement l'élément <CacheKey>
avec <Prefix>
et <Scope>
. Pour en savoir plus, consultez la page Utiliser des clés de cache.
Élément <CacheResource>
Indique le cache où les messages doivent être stockés.
Omettez complètement cet élément si cette règle (et vos règles PopulateCache et LookupCache correspondantes) utilisent le cache partagé inclus.
<CacheResource>cache_to_use</CacheResource>
Valeur par défaut : |
ND |
Présence : |
Facultatif |
Type : |
Chaîne |
Pour en savoir plus sur la configuration des caches, consultez la page Créer et modifier un cache d'environnement.
Élément <CacheKey>/<KeyFragment>
Spécifie une valeur à inclure dans la clé de cache, créant ainsi un espace de noms pour les requêtes correspondantes aux réponses mises en cache.
<KeyFragment ref="variable_name"/> <KeyFragment>literal_string</KeyFragment>
Valeur par défaut : |
ND |
Présence : |
Facultatif |
Type : |
ND |
Il peut s'agir d'une clé (un nom statique que vous fournissez) ou d'une valeur (un ensemble d'entrées dynamique faisant référence à une variable). Tous les fragments spécifiés combinés (plus le préfixe) sont concaténés pour créer la clé de cache.
<KeyFragment>apiAccessToken</KeyFragment> <KeyFragment ref="request.queryparam.client_id" />
Vous utilisez conjointement l'élément <KeyFragment>
avec <Prefix>
et <Scope>
. Pour en savoir plus, consultez la page Utiliser des clés de cache.
Attributs
Attribut | Description | Par défaut | Présence | Type |
---|---|---|---|---|
ref | Variable à partir de laquelle obtenir la valeur. Ne doit pas être utilisé si cet élément contient une valeur littérale. | ND | Facultatif | Chaîne |
Élément <CacheKey>/<Prefix>
Spécifie une valeur à utiliser comme préfixe de clé de cache.
<Prefix>prefix_string</Prefix>
Valeur par défaut : |
ND |
Présence : |
Facultatif |
Type : |
Chaîne |
Utilisez cette valeur à la place de <Scope>
lorsque vous souhaitez spécifier votre propre valeur plutôt qu'une valeur énumérée <Scope>
. Si cette valeur est définie, <Prefix>
ajoute la valeur de la clé de cache pour les entrées écrites dans le cache. La valeur de l'élément <Prefix>
remplace celle de l'élément <Scope>
.
Vous utilisez conjointement l'élément <Prefix>
avec <CacheKey>
et <Scope>
. Pour en savoir plus, consultez la page Utiliser des clés de cache.
Élément <CacheContext>/<ProxyName>
Indique le nom du proxy pour lequel les données ont été mises en cache.
<ProxyName>proxy_for_which_data_was_cached</ProxyName>
Valeur par défaut : |
ND |
Présence : |
Facultatif |
Type : |
Chaîne |
Attributs
Attribut | Description | Par défaut | Présence | Type |
---|---|---|---|---|
ref | Variable à partir de laquelle obtenir la valeur. Ne doit pas être utilisé si cet élément contient une valeur littérale. | ND | Facultatif | Chaîne |
Élément <PurgeChildEntries>
true
permet de supprimer définitivement les entrées de cache qui partagent la valeur définie par un élément <KeyFragment>
configuré pour cette règle. Les valeurs des autres parties de la clé de cache, telles que les éléments <Prefix>
, ne sont pas prises en compte.
Notez que l'élément <KeyFragment>
doit être spécifié. Si ce n'est pas le cas, la définition de "true" pour <PurgeChildEntries>
peut entraîner la suppression définitive de toutes les entrées du cache.
L'invalidation de toutes les entrées de cache de la même valeur de fragment de clé peut être utile pour supprimer définitivement plusieurs entrées associées en même temps.
<PurgeChildEntries>true_to_purge_child_entries</PurgeChildEntries>
Valeur par défaut : |
faux |
Présence : |
Facultatif |
Type : |
Booléen |
Élément <Scope>
Énumération permettant de créer un préfixe pour une clé de cache lorsqu'un élément <Prefix>
n'est pas fourni dans l'élément <CacheKey>
.
<Scope>scope_enumeration</Scope>
Valeur par défaut : |
"Exclusive" |
Présence : |
Facultatif |
Type : |
Chaîne |
Le paramètre <Scope>
détermine une clé de cache précédée selon la valeur <Scope>
. Par exemple, une clé de cache prend le format suivant lorsque le champ d'application est défini sur Exclusive
:
orgName__envName__applicationName__deployedRevisionNumber__proxy|TargetName__ [ serializedCacheKey ].
Si un élément <Prefix>
figure dans <CacheKey>
, il remplace la valeur de l'élément <Scope>
. Les valeurs valides incluent les énumérations ci-dessous.
Vous utilisez conjointement l'élément <Scope>
avec <CacheKey>
et <Prefix>
. Pour en savoir plus, consultez la page Utiliser des clés de cache.
Valeurs acceptables
Valeur du champ d'application | Description |
---|---|
Global |
La clé de cache est partagée entre tous les proxys d'API déployés dans l'environnement. La clé de cache prend un préfixe au format orgName __ envName. Si vous définissez une entrée |
Application |
Le nom du proxy d'API est utilisé comme préfixe. La clé de cache prend un préfixe au format orgName__envName__applicationName. |
Proxy |
La configuration ProxyEndpoint est utilisée comme préfixe. La clé de cache prend un préfixe au format orgName__envName__applicationName__deployedRevisionNumber__proxyEndpointName. |
Target |
La configuration TargetEndpoint est utilisée comme préfixe. La clé de cache prend un préfixe au format orgName__envName__applicationName__deployedRevisionNumber__targetEndpointName. |
Exclusive |
Valeur par défaut. C'est la plus spécifique et présente donc un risque minimal de conflits d'espaces de noms dans un cache donné. Le préfixe prend l'une des deux formes suivantes :
La clé de cache prend un préfixe au format orgName__envName__applicationName__deployedRevisionNumber__proxyNameITargetName. Par exemple, la chaîne complète peut ressembler à ceci : apifactory__test__weatherapi__16__default__apiAccessToken. |
Élément <CacheContext>/<TargetName>
Spécifie le nom du point de terminaison cible pour lequel les données ont été mises en cache.
<TargetName>endpoint_for_which_data_was_cached</TargetName>
Valeur par défaut : |
ND |
Présence : |
Facultatif |
Type : |
Chaîne |
Attributs
Attribut | Description | Par défaut | Présence | Type |
---|---|---|---|---|
ref | Variable à partir de laquelle obtenir la valeur. Ne doit pas être utilisé si cet élément contient une valeur littérale. | ND | Facultatif | Chaîne |
Remarques sur l'utilisation
La mise en cache à usage général avec les règles PopulateCache, LookupCache et InvalidateCache utilise soit un cache que vous configurez, soit un cache partagé inclus par défaut. Dans la plupart des cas, le cache partagé sous-jacent devrait répondre à vos besoins. Pour utiliser ce cache, il vous suffit d'omettre l'élément <CacheResource>
.
Pour en savoir plus sur la configuration des caches, consultez la page Créer et modifier un cache d'environnement. Pour plus d'informations sur le magasin de données sous-jacent, consultez la page Composants internes du cache.
Codes d'erreur
This section describes the error messages and flow variables that are set when this policy triggers an error. This information is important to know if you are developing fault rules for a proxy. To learn more, see What you need to know about policy errors and Handling faults.
Error code prefix
N/A
Runtime errors
This policy does not throw any runtime errors.
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
Error name | Cause | Fix |
---|---|---|
InvalidCacheResourceReference |
This error occurs if the <CacheResource> element in the InvalidateCache policy is set
to a name that does not exist in the environment where the API proxy is being deployed. |
build |
CacheNotFound |
This error occurs if the specific cache mentioned in the error message has not been created on a specific Message Processor component. | build |
Fault variables
N/A
Example error response
N/A