Esta página se aplica à Apigee e à Apigee híbrida.
Confira a documentação da
Apigee Edge.
Configura como os valores armazenados em cache precisam ser limpos do cache.
Esta política destina-se ao uso geral em cache de curto prazo. Ela é usada em conjunto com a política PopulateCache (para gravar entradas) e a política LookupCache (para leitura de entradas de cache).
Para armazenar em cache as respostas dos recursos de back-end, consulte a política ResponseCache.
Esta é uma política extensível. O uso dela pode ter implicações no custo ou na utilização, dependendo da sua licença da Apigee. Para informações sobre tipos de política e implicações de uso, consulte Tipos de política.
Referência de elemento
Veja a seguir os elementos que podem ser configurados nessa política.
<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>
Atributos <InvalidateCache>
A tabela a seguir descreve atributos comuns a todos os elementos pai de políticas:
Atributo | Descrição | Padrão | Presença |
---|---|---|---|
name |
O nome interno da política. O valor do atributo Opcionalmente, use o elemento |
N/A | Obrigatório |
continueOnError |
Defina como Defina como |
falso | Opcional |
enabled |
Defina como Defina como |
true | Opcional |
async |
Esse atributo está obsoleto. |
falso | Obsoleto |
Elemento <DisplayName>
Use em conjunto com o atributo name
para rotular a política no
editor de proxy da IU de gerenciamento com um nome de linguagem natural diferente.
<DisplayName>Policy Display Name</DisplayName>
Padrão |
N/A Se você omitir esse elemento, será usado o valor do atributo |
---|---|
Presença | Opcional |
Tipo | String |
Elemento <CacheContext>/<APIProxyName>
Especifica o nome do aplicativo que adicionou a entrada do cache.
<APIProxyName>application_that_added_the_entry</APIProxyName>
Atributos
Atributo | Descrição | Padrão | Presença | Tipo |
---|---|---|---|---|
ref | Variável com o nome do aplicativo. | N/A | Opcional | String |
Elemento <CacheContext>
Especifica como criar uma chave de cache quando um valor de elemento Prefix
não é especificado ou para limpar entradas de cache adicionadas por outro proxy de 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>
Usado para criar a CacheKey. Os valores de APIProxyName, ProxyName e TargetName são obrigatórios quando um prefixo CacheKey (ou seja, um prefixo personalizado) não é usado para limpar entradas de cache adicionadas por outro proxy de API.
Elemento <CacheKey>
Configura um ponteiro exclusivo para uma parte dos dados armazenados no cache.
<CacheKey> <Prefix>string</Prefix> <KeyFragment ref="variable_name" /> <KeyFragment>literal_string</KeyFragment> </CacheKey>
Padrão: |
N/A |
Presença: |
Obrigatório |
Tipo: |
N/A |
<CacheKey>
cria o nome de cada parte dos dados armazenados no cache.
No ambiente de execução, os valores <KeyFragment>
são prefixados com o valor do elemento <Scope>
ou <Prefix>
. Por exemplo, o
seguinte resultado gera uma chave de cache de
UserToken__apiAccessToken__
<value_of_client_id>:
<CacheKey> <Prefix>UserToken</Prefix> <KeyFragment>apiAccessToken</KeyFragment> <KeyFragment ref="request.queryparam.client_id" /> </CacheKey>
Use o elemento <CacheKey>
em conjunto com
<Prefix>
e <Scope>
. Para mais informações, consulte
Como trabalhar com chaves de
cache.
Elemento <CacheResource>
Especifica o cache em que as mensagens devem ser armazenadas.
Omita esse elemento completamente se esta política, e suas políticas PopulateCache e LookupCache correspondentes, estiver usando o cache compartilhado incluído.
<CacheResource>cache_to_use</CacheResource>
Padrão: |
N/A |
Presença: |
Opcional |
Tipo: |
String |
Para mais informações sobre a configuração de caches, consulte Armazenamento em cache de uso geral.
Elemento <CacheKey>/<KeyFragment>
Especifica um valor que precisa ser incluído na chave de cache. Especifique uma variável para remover a referência
com o atributo ref
ou um valor fixo.
<KeyFragment ref="variable_name"/> <KeyFragment>literal_string</KeyFragment>
Padrão: |
N/A |
Presença: |
Opcional |
Tipo: |
N/A |
No ambiente de execução, a Apigee cria a chave de cache adicionando o valor recebido do
elemento <Scope>
ou <Prefix>
a uma
concatenação dos valores resolvidos de cada um dos elementos <KeyFragment>
.
Para mais informações, consulte
Como trabalhar
com chaves de cache.
Atributos
Atributo | Descrição | Padrão | Presença | Tipo |
---|---|---|---|---|
ref | A variável da qual obter o valor. Não deve ser usada se esse elemento contiver um valor literal. | N/A | Opcional | String |
Elemento <CacheKey>/<Prefix>
Especifica um valor para usar como prefixo da chave de cache.
<Prefix>prefix_string</Prefix>
Padrão: |
N/A |
Presença: |
Opcional |
Tipo: |
String |
Um elemento <Prefix>
modifica qualquer elemento <Scope>
.
No ambiente de execução, a Apigee cria a chave de cache adicionando o valor recebido do
elemento <Scope>
ou <Prefix>
a uma
concatenação dos valores resolvidos de cada um dos elementos <KeyFragment>
.
Para mais informações, consulte
Como trabalhar
com chaves de cache.
Elemento <CacheContext>/<ProxyName>
Especifica o nome do proxy para o qual os dados foram armazenados em cache.
<ProxyName>proxy_for_which_data_was_cached</ProxyName>
Padrão: |
N/A |
Presença: |
Opcional |
Tipo: |
String |
Atributos
Atributo | Descrição | Padrão | Presença | Tipo |
---|---|---|---|---|
ref | A variável da qual obter o valor. Não deve ser usada se esse elemento contiver um valor literal. | N/A | Opcional | String |
Elemento <PurgeChildEntries>
true
para limpar entradas de cache que compartilham o mesmo valor <Prefix>
configurado para esta política, mesmo se as instâncias
da política AutofillCache que carregou esses itens no cache também usaram vários
elementos <KeyFragment>
.
Invalidar todas as entradas de cache do mesmo valor de prefixo permite limpar várias entradas relacionadas de uma só vez.
<PurgeChildEntries>true_to_purge_child_entries</PurgeChildEntries>
Padrão: |
falso |
Presença: |
Opcional |
Tipo: |
Booleanos |
Elemento <Scope>
Enumeração usada para construir um prefixo para uma chave de cache quando um elemento
<Prefix>
não é fornecido no elemento <CacheKey>
.
<Scope>scope_enumeration</Scope>
Padrão: |
"Exclusivo" |
Presença: |
Opcional |
Tipo: |
String |
A configuração <Scope>
determina uma chave de cache que é anexada de acordo com
o valor <Scope>
. Por exemplo, uma chave de cache assume o seguinte formato quando
o escopo é definido como Exclusive
:
orgName__envName__applicationName__deployedRevisionNumber__proxy|TargetName__ [ serializedCacheKey ].
Se um elemento <Prefix>
estiver presente em <CacheKey>
, ele
substituirá um valor de elemento <Scope>
. Os valores válidos para o elemento
<Scope>
são mostrados abaixo.
Para mais informações, consulte Como trabalhar com chaves de cache.
Valores aceitáveis
Valor do escopo | Descrição |
---|---|
Global |
A chave de cache é compartilhada em todos os proxies de API implantados no ambiente. A chave de cache é precedida no formato orgName __ envName __. Se você definir uma entrada |
Application |
O nome do proxy de API é usado como prefixo. A chave de cache é precedida no formato orgName__envName__applicationName. |
Proxy |
A configuração ProxyEndpoint é usada como prefixo. A chave de cache é precedida no formato orgName__envName__applicationName__deployedRevisionNumber__proxyEndpointName. |
Target |
A configuração TargetEndpoint é usada como prefixo. A chave de cache é precedida no formato orgName__envName__applicationName__deployedRevisionNumber__targetEndpointName. |
Exclusive |
Padrão. Este é o mais específico e, portanto, apresenta o risco mínimo de colisões de namespaces em um determinado cache. O prefixo estará em um destes dois formatos:
A chave de cache é precedida no formato orgName__envName__applicationName__deployedRevisionNumber__proxyNameITargetName. Por exemplo, a string completa pode ser assim: apifactory__test__weatherapi__16__default__apiAccessToken. |
Elemento <CacheContext>/<TargetName>
Especifica o nome do endpoint de destino para o qual os dados foram armazenados em cache.
<TargetName>endpoint_for_which_data_was_cached</TargetName>
Padrão: |
N/A |
Presença: |
Opcional |
Tipo: |
String |
Atributos
Atributo | Descrição | Padrão | Presença | Tipo |
---|---|---|---|---|
ref | A variável da qual obter o valor. Não deve ser usada se esse elemento contiver um valor literal. | N/A | Opcional | String |
Observações sobre uso
O armazenamento em cache de uso geral com a política de preenchimento de cache, LookupCache e
InvalidateCache usa um cache configurado por você ou um cache compartilhado incluído por
padrão. Na maioria dos casos, o cache compartilhado subjacente precisa atender às suas necessidades. Para usar esse cache, basta omitir o
elemento <CacheResource>
.
Para mais informações sobre a configuração de caches, consulte Armazenamento em cache de uso geral. Para saber mais sobre o armazenamento de dados subjacente, consulte a página de detalhes sobre cache.
Códigos de erro
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