Testar planos de uso para APIs REST no API Gateway - Amazon API Gateway

Testar planos de uso para APIs REST no API Gateway

Como exemplo, vamos usar a API PetStore, que foi criada em Tutorial: Criar uma API REST importando um exemplo. Suponha que essa API esteja configurada para usar uma chave de API de Hiorr45VR...c4GJc. As etapas a seguir descrevem como testar um plano de uso.

Para testar seu plano de uso
  • Faça uma solicitação GET no recurso Pets (/pets), com os parâmetros de consulta ?type=...&page=..., da API (por exemplo, xbvxlpijch) em um plano de uso:

    GET /testStage/pets?type=dog&page=1 HTTP/1.1 x-api-key: Hiorr45VR...c4GJc Content-Type: application/x-www-form-urlencoded Host: xbvxlpijch.execute-api.ap-southeast-1.amazonaws.com X-Amz-Date: 20160803T001845Z Authorization: AWS4-HMAC-SHA256 Credential={access_key_ID}/20160803/ap-southeast-1/execute-api/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-api-key, Signature={sigv4_hash}
    nota

    É necessário enviar essa solicitação ao componente execute-api do API Gateway e fornecer a chave de API necessária (por exemplo, Hiorr45VR...c4GJc) no cabeçalho x-api-key exigido.

    A resposta bem-sucedida retorna um código de status 200 OK e uma carga que contém os resultados solicitados do backend. Se você se esquecer de definir o cabeçalho x-api-key ou se defini-lo com uma chave incorreta, você recebe uma resposta 403 Forbidden. No entanto, se você não configurou o método para exigir uma chave de API, provavelmente obterá uma resposta 200 OK independentemente ou não de definir o cabeçalho x-api-key corretamente e os limites de cota e controle de fluxo do plano de uso serão ignorados.

    Ocasionalmente, quando ocorrer um erro interno em que o API Gateway fica incapaz de impor limites de controle de utilização ou cotas para a solicitação, o API Gateway atenderá a essa solicitação sem aplicar esses limites ou cotas, conforme especificado no plano de uso. No entanto, registrará uma mensagem de erro de Usage Plan check failed due to an internal error no CloudWatch. Você pode ignorar esses erros ocasionais.