Esta página aplica-se ao Apigee e ao Apigee Hybrid.
Veja a documentação do
Apigee Edge.
Configura a forma como os valores em cache devem ser eliminados da cache.
Esta política destina-se a utilização em cache de curto prazo de uso geral. É usada em conjunto com a política PopulateCache (para escrever entradas) e a política LookupCache (para ler entradas de cache).
Para colocar em cache as respostas dos recursos de back-end, consulte a política ResponseCache.
Esta política é uma política extensível e a utilização desta política pode ter implicações de custo ou utilização, consoante a sua licença do Apigee. Para ver informações sobre os tipos de políticas e as implicações de utilização, consulte Tipos de políticas.
Referência do elemento
A lista seguinte indica os elementos que pode configurar nesta 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 seguinte descreve os atributos comuns a todos os elementos principais de políticas:
Atributo | Descrição | Predefinição | Presença |
---|---|---|---|
name |
O nome interno da política. O valor do atributo Opcionalmente, use o elemento |
N/A | Obrigatória |
continueOnError |
Definido como Definido como |
falso | Opcional |
enabled |
Defina como Defina como |
verdadeiro | Opcional |
async |
Este atributo foi descontinuado. |
falso | Descontinuado |
Elemento <DisplayName>
Use em conjunto com o atributo name
para etiquetar a política no editor de proxy da IU de gestão com um nome diferente em linguagem natural.
<DisplayName>Policy Display Name</DisplayName>
Predefinição |
N/A Se omitir este elemento, é usado o valor do atributo |
---|---|
Presença | Opcional |
Tipo | String |
Elemento <CacheContext>/<APIProxyName>
Especifica o nome da aplicação que adicionou a entrada de cache.
<APIProxyName>application_that_added_the_entry</APIProxyName>
Atributos
Atributo | Descrição | Predefinição | Presença | Tipo |
---|---|---|---|---|
ref | Variável com o nome da aplicação. | N/A | Opcional | String |
Elemento <CacheContext>
Especifica como construir uma chave de cache quando não é especificado um valor do elemento Prefix
ou para limpar as 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 construir a CacheKey. Os valores de APIProxyName, ProxyName e TargetName são obrigatórios quando não é usado um prefixo CacheKey (ou seja, um prefixo personalizado) para limpar as entradas de cache adicionadas por outro proxy de API.
Elemento <CacheKey>
Configura um ponteiro único para um fragmento de dados armazenado na cache.
<CacheKey> <Prefix>string</Prefix> <KeyFragment ref="variable_name" /> <KeyFragment>literal_string</KeyFragment> </CacheKey>
Predefinição: |
N/A |
Presença: |
Obrigatória |
Tipo: |
N/A |
<CacheKey>
cria o nome de cada parte dos dados armazenados na cache.
Em tempo de execução, os valores <KeyFragment>
são precedidos pelo valor do elemento <Scope>
ou pelo valor <Prefix>
. Por exemplo, o seguinte resulta numa chave da cache de UserToken__apiAccessToken__
<value_of_client_id>:
<CacheKey> <Prefix>UserToken</Prefix> <KeyFragment>apiAccessToken</KeyFragment> <KeyFragment ref="request.queryparam.client_id" /> </CacheKey>
Usa o elemento <CacheKey>
em conjunto com
<Prefix>
e <Scope>
. Para mais informações, consulte o artigo
Trabalhar com chaves de
cache.
Elemento <CacheResource>
Especifica a cache onde as mensagens devem ser armazenadas.
Omita este elemento completamente se esta política (e as políticas PopulateCache e LookupCache correspondentes) estiver a usar a cache partilhada incluída.
<CacheResource>cache_to_use</CacheResource>
Predefinição: |
N/A |
Presença: |
Opcional |
Tipo: |
String |
Para mais informações sobre a configuração de caches, consulte o artigo Caches de uso geral.
Elemento <CacheKey>/<KeyFragment>
Especifica um valor que deve ser incluído na chave da cache. Especifique uma variável a desreferenciar
com o atributo ref
ou um valor fixo.
<KeyFragment ref="variable_name"/> <KeyFragment>literal_string</KeyFragment>
Predefinição: |
N/A |
Presença: |
Opcional |
Tipo: |
N/A |
Em tempo de execução, o Apigee cria a chave da cache antepondo o valor obtido do elemento <Scope>
ou do elemento <Prefix>
a uma concatenação dos valores resolvidos de cada um dos elementos <KeyFragment>
.
Para mais informações, consulte o artigo
Trabalhar
com chaves de cache.
Atributos
Atributo | Descrição | Predefinição | Presença | Tipo |
---|---|---|---|---|
ref | A variável a partir da qual obter o valor. Não deve ser usado se este elemento contiver um valor literal. | N/A | Opcional | String |
Elemento <CacheKey>/<Prefix>
Especifica um valor a usar como prefixo da chave de cache.
<Prefix>prefix_string</Prefix>
Predefinição: |
N/A |
Presença: |
Opcional |
Tipo: |
String |
Um elemento <Prefix>
substitui qualquer elemento <Scope>
.
Em tempo de execução, o Apigee cria a chave da cache antepondo o valor obtido do elemento <Scope>
ou do elemento <Prefix>
a uma concatenação dos valores resolvidos de cada um dos elementos <KeyFragment>
.
Para mais informações, consulte o artigo
Trabalhar
com chaves de cache.
Elemento <CacheContext>/<ProxyName>
Especifica o nome do proxy para o qual os dados foram colocados em cache.
<ProxyName>proxy_for_which_data_was_cached</ProxyName>
Predefinição: |
N/A |
Presença: |
Opcional |
Tipo: |
String |
Atributos
Atributo | Descrição | Predefinição | Presença | Tipo |
---|---|---|---|---|
ref | A variável a partir da qual obter o valor. Não deve ser usado se este elemento contiver um valor literal. | N/A | Opcional | String |
Elemento <PurgeChildEntries>
true
para limpar as entradas da cache que partilham o mesmo valor <Prefix>
configurado para esta política, mesmo que as instâncias da política PopulateCache
que carregaram esses itens na cache também tenham usado vários elementos
<KeyFragment>
.
A invalidação de todas as entradas da cache do mesmo valor de prefixo permite-lhe limpar várias entradas relacionadas de uma só vez.
<PurgeChildEntries>true_to_purge_child_entries</PurgeChildEntries>
Predefinição: |
falso |
Presença: |
Opcional |
Tipo: |
Booleano |
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>
Predefinição: |
"Exclusivo" |
Presença: |
Opcional |
Tipo: |
String |
A definição <Scope>
determina uma chave de cache que é adicionada de acordo com o valor <Scope>
. Por exemplo, uma chave de cache teria o seguinte formato quando o âmbito é definido como Exclusive
:
orgName__envName__applicationName__proxy|TargetName__ [ serializedCacheKey ].
Se um elemento <Prefix>
estiver presente em <CacheKey>
, substitui o valor do elemento <Scope>
. Os valores válidos para o elemento <Scope>
são apresentados abaixo.
Para mais informações, consulte o artigo Trabalhar com chaves de cache.
Valores aceitáveis
Valor do âmbito | Descrição |
---|---|
Global |
A chave da cache é partilhada por todos os proxies de API implementados no ambiente. A chave da cache é adicionada no início no formato orgName __ envName __. Se definir uma entrada |
Application |
O nome do proxy da API é usado como prefixo. A chave da cache é adicionada no formulário orgName__envName__applicationName. |
Proxy |
A configuração ProxyEndpoint é usada como prefixo. A chave da cache é adicionada sob a forma orgName__envName__applicationName__proxyEndpointName . |
Target |
A configuração TargetEndpoint é usada como prefixo. Chave da cache anteposta no formulário orgName__envName__applicationName__targetEndpointName . |
Exclusive |
Predefinição. Esta é a mais específica e, por isso, apresenta um risco mínimo de colisões de espaço de nomes numa determinada cache. O prefixo tem um de dois formatos:
Chave de cache anteposta no formulário orgName__envName__applicationName__proxyNameITargetName Por exemplo, a string completa pode ter o seguinte aspeto: apifactory__test__weatherapi__default__apiAccessToken |
Elemento <CacheContext>/<TargetName>
Especifica o nome do ponto final de destino para o qual os dados foram colocados em cache.
<TargetName>endpoint_for_which_data_was_cached</TargetName>
Predefinição: |
N/A |
Presença: |
Opcional |
Tipo: |
String |
Atributos
Atributo | Descrição | Predefinição | Presença | Tipo |
---|---|---|---|---|
ref | A variável a partir da qual obter o valor. Não deve ser usado se este elemento contiver um valor literal. | N/A | Opcional | String |
Notas de utilização
O armazenamento em cache de uso geral com a política PopulateCache, a política LookupCache e a política InvalidateCache usa uma cache que configura ou uma cache partilhada incluída por predefinição. Na maioria dos casos, a cache partilhada subjacente deve satisfazer as suas necessidades. Para usar esta cache,
basta omitir o elemento <CacheResource>
.
Para mais informações sobre a configuração de caches, consulte o artigo Caches de uso geral. Para saber mais sobre o armazenamento de dados subjacente, consulte o artigo Funcionamento interno da cache.
Códigos de erro
Esta secção descreve as mensagens de erro e as variáveis de fluxo que são definidas quando esta política aciona um erro. Estas informações são importantes se estiver a desenvolver regras de falhas para um proxy. Para saber mais, consulte o artigo O que precisa de saber acerca dos erros de políticas e o artigo Processamento de falhas.
Prefixo do código de erro
N/A
Erros de tempo de execução
Esta política não gera erros de tempo de execução.
Erros de implementação
Estes erros podem ocorrer quando implementa um proxy que contém esta política.
Nome do erro | Causa | Corrigir |
---|---|---|
InvalidCacheResourceReference |
Este erro ocorre se o elemento <CacheResource> na política InvalidateCache estiver definido
para um nome que não existe no ambiente onde o proxy de API está a ser implementado. |
build |
CacheNotFound |
Este erro ocorre se a cache específica mencionada na mensagem de erro não tiver sido criada num componente do processador de mensagens específico. | build |
Variáveis de falha
N/A
Exemplo de resposta de erro
N/A