Conceitos do Amazon API Gateway - Amazon API Gateway

Conceitos do Amazon API Gateway

A seção a seguir descreve conceitos introdutórios para o uso do API Gateway.

API Gateway

O API Gateway é um serviço da AWS que oferece suporte à:

  • Criação, implantação e gerenciamento de uma interface de programação de aplicativos (API) RESTful para expor endpoints HTTP de backend, funções do AWS Lambda ou outros serviços da AWS.

  • Criação, implantação e gerenciamento de uma API WebSocket para expor funções do AWS Lambda ou outros serviços da AWS.

  • Invoque métodos de API expostos por meio de endpoints HTTP e WebSocket de front-end.

API REST do API Gateway

Uma coleção de métodos e recursos HTTP que são integrados a endpoints HTTP de backend, funções do Lambda ou outros serviços da AWS. É possível implantar essa coleção em um ou mais estágios. Normalmente, os recursos da API são organizados em uma árvore de recursos, de acordo com a lógica do aplicativo. Cada recurso de API pode expor um ou mais métodos de API, que têm verbos HTTP exclusivos compatíveis com o API Gateway. Para obter mais informações, consulte Escolher entre APIs REST e APIs HTTP.

API HTTP do API Gateway

Uma coleção de rotas e métodos que são integrados a endpoints HTTP de backend ou funções do Lambda. É possível implantar essa coleção em um ou mais estágios. Cada rota pode expor um ou mais métodos de API, que têm verbos HTTP exclusivos compatíveis com o API Gateway. Para ter mais informações, consulte Escolher entre APIs REST e APIs HTTP.

API WebSocket do API Gateway

Uma coleção de rotas WebSocket e de chaves de rota que são integradas a endpoints HTTP de backend, funções do Lambda ou outros serviços da AWS. É possível implantar essa coleção em um ou mais estágios. Os métodos de API são invocados por meio de conexões de endpoints WebSocket de front-end que você pode associar a um nome de domínio personalizado registrado.

Implantação de API

Um snapshot point-in-time da sua API do API Gateway. Para disponibilizar para os clientes, a implantação deve ser associada a um ou mais estágios de API.

Desenvolvedor de API

Sua conta da AWS que é dona de uma implantação do API Gateway (por exemplo, um provedor de serviços que também oferece suporte a acesso por programação.)

Endpoint de API

Um nome de host para uma API no API Gateway que é implantada em uma região específica. O nome de host tem a seguinte forma {api-id}.execute-api.{region}.amazonaws.com. Há suporte para os seguintes tipos de endpoints de API:

Chave da API

Uma string alfanumérica usada pelo API Gateway para identificar um desenvolvedor de aplicações que usa sua API REST ou WebSocket. O API Gateway pode gerar chaves de API em seu nome ou você pode importá-las para um arquivo CSV. É possível usar chaves de API com autorizadores do Lambda ou planos de uso para controlar o acesso às suas APIs.

Consulte Endpoints de API.

Proprietário de API

Consulte Desenvolvedor de APIs.

Estágio de API

Referência lógica a um estado do ciclo de vida de sua API (por exemplo, 'dev', 'prod', 'beta', 'v2'). Os estágios de API são identificados pelo ID da API e pelo nome do estágio.

Desenvolvedor de aplicativos

Um criador de aplicativos que pode ou não ter uma conta da AWS e interage com a API que você, o desenvolvedor da API, implantou. Os desenvolvedores de aplicativos são seus clientes. Um desenvolvedor de aplicativos normalmente é identificado por uma chave da API.

URL de retorno de chamada

Quando um novo cliente é conectado por meio de uma conexão WebSocket, você pode chamar uma integração no API Gateway para armazenar o URL de retorno de chamada do cliente. Você poderá então usar este URL de retorno de chamada para enviar mensagens para o cliente a partir do sistema de backend.

Portal do desenvolvedor

Um aplicativo que permite que os clientes se inscrevam, descubram e assinem seus produtos de API (planos de uso de produtos do API Gateway), gerenciem suas chaves de API e visualizem suas métricas de uso para as APIs.

Endpoint de API otimizada para fronteiras

O nome do host padrão de uma API do API Gateway implantada na região especificada usando uma distribuição do CloudFront para facilitar o acesso de clientes normalmente entre regiões da AWS. As solicitações de API são roteadas para o ponto de presença (POP) do CloudFront mais próximo, o que geralmente melhora o tempo de conexão para clientes em regiões diferentes.

Consulte Endpoints de API.

Solicitação de integração

A interface interna de uma rota de API WebSocket ou de um método de API REST no API Gateway, na qual você mapeia o corpo de uma solicitação de rota ou os parâmetros e o corpo de uma solicitação de método para os formatos exigidos pelo backend.

Resposta de integração

A interface interna de um rota de API WebSocket ou de um método de API REST no API Gateway na qual você mapeia os códigos de status, os cabeçalhos e a carga que são recebidos do backend para o formato de resposta que é retornado a um aplicativo cliente.

modelo de mapeamento

Um script em Velocity Template Language (VTL) que transforma um corpo de solicitação do formato de dados de front-end para o formato de dados de backend, ou que transforma um corpo de resposta do formato de dados de backend para o formato de dados de front-end. Os modelos de mapeamento podem ser especificados na solicitação de integração ou na resposta de integração. Eles podem fazer referência a dados disponibilizados em tempo de execução como contexto e variáveis de estágio.

O mapeamento pode ser tão simples quanto uma transformação de identidade que passa os cabeçalhos ou o corpo pela integração no estado em que se encontra do cliente para o backend para uma solicitação. O mesmo aplica-se para uma resposta, na qual a carga é passada do backend ao cliente.

Solicitação de método

A interface pública de um método de API no API Gateway que define os parâmetros e o corpo que um desenvolvedor de aplicativos deve enviar nas solicitações para acessar o backend por meio da API.

Resposta do método

A interface pública de uma API REST que define os códigos de status, os cabeçalhos e os modelos de corpo que um desenvolvedor de aplicativos deve esperar em respostas da API.

Integração simulada

Em uma integração simulada, respostas de API são geradas no API Gateway diretamente, sem a necessidade de um backend de integração. Como desenvolvedor de APIs, você decide como o API Gateway responde a uma solicitação de integração simulada. Para isso, você configura a solicitação de integração e a resposta de integração do método para associar uma resposta a um determinado código de status.

Modelo

Um esquema de dados especificando a estrutura de dados de uma solicitação ou carga de resposta. É necessário um modelo para gerar um SDK fortemente tipado de uma API. Ele também é usado para validar as cargas. Um modelo é conveniente para gerar um modelo de mapeamento de amostra para iniciar a criação de um modelo de mapeamento de produção. Embora seja útil, um modelo não é necessário para criar um modelo de mapeamento.

API privado

Consulte Endpoint privado de API.

Endpoint privado de API

Um endpoint de API que é exposto por meio de VPC endpoints de interface e permite que um cliente acesse de forma segura os recursos da API privada dentro de uma VPC. As APIs privadas são isoladas da Internet pública e só podem ser acessadas usando VPC endpoints para o API Gateway para o qual foi concedido acesso.

Integração privada

Um tipo de integração do API Gateway para um cliente acessar recursos dentro da VPC do cliente por meio de um endpoint de API REST privada sem expor os recursos à Internet pública.

Integração de proxy

Uma configuração simplificada de integração do API Gateway. É possível configurar uma integração de proxy como um tipo de integração de proxy HTTP ou uma integração de proxy do Lambda.

Para a integração de proxy HTTP, o API Gateway transmite toda a solicitação e a resposta entre o front-end e um backend HTTP. Para integração de proxy do Lambda, o API Gateway envia toda a solicitação como entrada para uma função do Lambda de backend. Depois, o &API Gateway transforma a saída da função do Lambda em uma resposta HTTP de front-end.

Nas APIs REST, a integração de proxy é mais comumente usada com um recurso de proxy, representado por uma variável de caminho voraz (por exemplo, {proxy+}), combinada com um método genérico ANY.

Criação rápida

É possível usar a criação rápida para simplificar a criação de uma API HTTP. A criação rápida cria uma API com uma integração ao Lambda ou a HTTP, uma rota genérica padrão e um estágio padrão configurado para implantar alterações automaticamente. Para obter mais informações, consulte Criar uma API HTTP usando a CLI da AWS.

Endpoint de API regional

O nome do host de uma API implantada na região especificada e com o objetivo de atender a clientes, como instâncias do EC2, na mesma região da AWS. As solicitações de API são destinadas diretamente para a API do API Gateway específico da região sem passar por nenhuma distribuição do CloudFront. Para solicitações em uma mesma região, um endpoint regional ignora a ida e volta desnecessárias para uma distribuição do CloudFront.

Além disso, você pode aplicar o roteamento baseado em latência em endpoints regionais para implantar uma API em várias regiões usando a mesma configuração de endpoint da API regional, definir o mesmo nome de domínio personalizado para cada API implantada e configurar registros DNS baseados em latência no Route 53 a fim de rotear solicitações do cliente para uma região cuja latência é a mais baixa.

Consulte Endpoints de API.

Rota

Uma rota WebSocket no API Gateway é usada para direcionar mensagens recebidas para uma integração específica, como uma função do AWS Lambda com base no conteúdo da mensagem. Ao definir sua API WebSocket, você especifica uma chave de roteamento e um backend de integração. A chave de roteamento é um atributo no corpo da mensagem. Quando é feita a correspondência da chave de roteamento em uma mensagem recebida, o backend de integração é invocado.

Uma rota padrão também podem ser definida para chaves de roteamento que não façam correspondência ou para especificar um modelo de proxy que passa a mensagem no estado em que se encontra para os componentes de backend que executam o roteamento e processam a solicitação.

Rotear solicitação

A interface pública de um método de API WebSocket no API Gateway que define o corpo que um desenvolvedor de aplicativos deve enviar nas solicitações para acessar o backend por meio da API.

Rotear resposta

A interface pública de uma API WebSocket que define os códigos de status, os cabeçalhos e os modelos de corpo que um desenvolvedor de aplicativos deve esperar do API Gateway.

Plano de uso

Um plano de uso fornece aos clientes da API selecionada acesso a uma ou mais APIs REST ou WebSocket implantadas. Você pode usar um plano de uso para configurar o controle e os limites de cota individuais que são aplicados em chaves de API individuais de cliente.

Conexão WebSocket

O API Gateway mantém uma conexão persistente entre os clientes e o próprio API Gateway. Não há conexão persistente entre o API Gateway e integrações de backend, como funções do Lambda. Os serviços de backend são invocados conforme necessário, com base no conteúdo das mensagens recebidas dos clientes.