Esta página se aplica à Apigee e à Apigee híbrida.
  
    Confira a documentação da 
    Apigee Edge.
  
  
       
  

O que você vai aprender
Neste tutorial, você aprenderá a:
- Adicione uma política que afete a solicitação e a resposta.
- Veja os efeitos da política.
Pré-requisitos
- Uma instalação da Apigee Consulte Visão geral e pré-requisitos.
- Um proxy de API em funcionamento com pelo menos uma política anexada. Consulte Visão geral do proxy de sua API.
-  Um cliente da API HTTP instalado na sua máquina para fazer chamadas de API. Os exemplos de tutorial
    usam curl.
Adicionar a política SpikeArrest
Neste tutorial, você verá como adicionar e configurar a política de detenção de pico para proteger o serviço de destino contra picos de tráfego repentinos que podem ser causados por um aumento no uso, clientes problemáticos ou ataques maliciosos. Quando o número de solicitações excede o limite de taxa, a API retorna um erro HTTP 429.
Apigee no console do Cloud
Para adicionar a política SpikeArrest a um proxy de API:
- No console do Google Cloud , acesse a página Desenvolvimento de proxy > Proxies de API. - Se você seguiu o tutorial de primeiros passos, é possível adicioná-lo ao proxy de API que você criou em Criar um proxy de API. 
- Clique na guia Desenvolver.
- No painel à esquerda, clique no botão + na linha Políticas.
- Na caixa de diálogo Criar política clique no campo Selecionar tipo de políticae role para baixo atéGerenciamento de tráfego e selecioneSpikeArrest. 
- Também é possível alterar o Nome e o Nome de exibição da política. Por padrão, a Apigee fornece um prefixo curto para o nome da política. Neste caso, SA-. É possível adicionar uma sequência de palavras descritivas separadas por traços, após o prefixo. Consulte as convenções de nomenclatura.  - Quando terminar, clique em Criar para criar a política. 
Agora que você criou a política "Spike Arrest", pode adicioná-la a uma etapa no PreFlow.
- Selecione Proxy Endpoints > default > PreFlow no painel à esquerda:
       Observação: talvez seja necessário expandir o editor visual no painel à direita para ver todos os elementos. Para fazer isso, clique e arraste um pouco o divisor entre o editor visual e o editor de texto. 
- Clique no botão + ao lado de PreFlow no painel Response no canto inferior direito do Editor de recursos visuais:
       
- Na caixa de diálogo Adicionar política, selecione a política Spike Arrest.
- Clique em Adicionar para anexar a política. - A política Spike Arrest agora é exibida no painel Response:  
Agora que você anexou a política do Spike Arrest ao PreFlow, tente alterar o código da política:
- No painel Resposta, selecione SA-.  
- O editor de texto exibe o código XML do proxy, incluindo a
        etapa da política de Spike Arrest no elemento Response do PreFlow.
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <SpikeArrest continueOnError="false" enabled="true" name="SA-"> <DisplayName>SA-</DisplayName> <Properties/> <Identifier ref="request.header.some-header-name"/> <MessageWeight ref="request.header.weight"/> <Rate>30ps</Rate> </SpikeArrest>
- 
        No XML da política, altere o valor do elemento <Rate>para1pm(que se traduz em aproximadamente duas solicitações permitidas a cada 60 segundos na nuvem).Você pode especificar a taxa como um valor inteiro por minuto ( pm) ou por segundo (ps). Esse é um limite muito baixo e é usado somente para este tutorial para demonstrar a política. Normalmente, você define um limite muito maior.Observe que o valor Rateno Inspetor de propriedades também muda para1pm. Se preferir, altere o valor Taxa no Inspetor de propriedades e isso será refletido na visualização de XML.
- Clique em Save para salvar a revisão atual com as alterações.
IU clássica
Para adicionar a política SpikeArrest a um proxy de API:
- Faça login na IU da Apigee.
- Selecione Develop > API Proxies na barra de navegação à esquerda.
- Selecione o proxy de API ao qual você quer adicionar a política de SpikeArrest.
              Se você seguiu o tutorial de primeiros passos, é possível adicioná-lo ao proxy de API que você criou em Criar um proxy de API. 
- No editor do novo proxy de API, clique na guia Desenvolvedor: Com o editor de proxy de API, você vê a estrutura do proxy de API e configura seu fluxo. O editor apresenta uma representação visual do fluxo de mensagens de solicitação e de resposta do proxy, bem como uma exibição editável do XML subjacente que define o proxy. 
- No painel lateral esquerdo do navegador, clique em PreFlow em Proxy Endpoints > padrão. Outros tutoriais abrangem o conceito de fluxos.
- Clique no botão +Step na parte superior, que corresponde ao campo "Request PreFlow". Isso exibirá uma lista categorizada de todas as políticas que podem ser criadas.
         
- Selecione SpikeArrest  na categoria "Gerenciamento de tráfego". A caixa de diálogo Nova
        política será exibida:
         
- Mantenha os nomes padrão e clique em Adicionar. A nova política é anexada ao fluxo PreFlow de uma solicitação.
- No Navegador, verifique se a opção PreFlow em Proxy Endpoints > padrão ainda está selecionada e observe o seguinte na API Proxy Editor:
- A nova política SpikeArrest-1 foi adicionada em Políticas no Navegador à esquerda do Editor de proxy de API.
- O ícone SpikeArrest-1 foi adicionado à Visualização de designer no centro superior do Editor de proxy de API, que é uma representação visual dos fluxos de mensagens do seu proxy.
- O XML da política é exibido na visualização de código na parte inferior central da API Proxy Editor.
  
- No Navegador, selecione SpikeArrest-1 em "Políticas" e observe o
        seguinte no Editor de proxy de API:
        - Os detalhes da política são exibidos na Visualização de designer na parte superior central da API Proxy Editor.
- O XML da política é exibido na visualização de código na parte inferior central da API Proxy Editor.
- O elemento XML e os valores de atributo da política são exibidos no Inspetor de propriedades no lado direito da API Proxy Editor.
  
- 
        No XML da política, altere o valor do elemento <Rate>para1pm(que se traduz em aproximadamente duas solicitações permitidas a cada 60 segundos na nuvem).Você pode especificar a taxa como um valor inteiro por minuto ( pm) ou por segundo (ps). Esse é um limite muito baixo e é usado somente para este tutorial para demonstrar a política. Normalmente, você define um limite muito maior.Observe que o valor Rateno Inspetor de propriedades também muda para1pm. Se preferir, altere o valor Taxa no Inspetor de propriedades e isso será refletido na visualização de XML.
- Clique em Save para salvar a revisão atual com as alterações.
- Implante suas alterações usando o botão Implantar em:.
- 
        Chame a API usando curl, usando o URL do seu domínio:curl "http://YOUR_DOMAIN/myproxy" onde: - ENV_GROUP_HOSTNAMEé o nome do host do grupo de ambientes definido durante o provisionamento.
- DOMAIN_HOSTNAMEé o nome do host do seu domínio.
 Consulte Testar o proxy de API para mais informações. Verifique se a solicitação foi bem-sucedida e se você vê a mesma resposta XML, como fez anteriormente. Você também pode inserir apenas o URL em um navegador da Web. Em seguida, tente testar a configuração Ratede maneiras diferentes:- Execute o comando curl(ou atualize a janela do navegador) duas ou três vezes mais em um minuto e observe que você recebeu a seguinte mensagem porque excedeu o limite de taxa da política:{ "fault": { "faultstring":"Spike arrest violation. Allowed rate : 1pm", "detail": { "errorcode":"policies.ratelimit.SpikeArrestViolation"} } }Se você tentar fazer mais chamadas dentro de um minuto, continuará a receber a mensagem de falha. 
- Edite a política para definir o limite do <Rate>para15pm(que se traduz em aproximadamente duas chamadas permitidas a cada quatro segundos na nuvem), em seguida, salve e implante o proxy de API.
- Execute o comando curlou atualize o navegador repetidamente (curlé mais rápido). Se você fizer uma ou duas chamadas dentro de intervalos de quatro segundos, as chamadas serão bem-sucedidas. Se você fizer as chamadas rapidamente, mais de dois em quatro segundos, receberá a mensagem de erro de falha. No entanto, depois de cada intervalo de quatro segundos, é possível continuar fazendo chamadas, em vez de ser bloqueado por um minuto inteiro (com a configuração de1pm).