Mapear estágios de API para um nome de domínio personalizado para APIs HTTP
Você usa mapeamentos de API para conectar estágios de API a um nome de domínio personalizado. Depois de criar um nome de domínio e configurar registros DNS, você usa mapeamentos de API para enviar tráfego para as suas APIs utilizando o seu nome de domínio personalizado.
Um mapeamento de API especifica uma API, um estágio e, opcionalmente, um caminho a usar para o mapeamento. Por exemplo, você pode mapear o estágio production
de uma API para https://api.example.com/orders
.
Você pode mapear os estágios da API HTTP e REST para o mesmo nome de domínio personalizado.
Antes de criar um mapeamento de API, você deve ter uma API, um estágio e um nome de domínio personalizado. Para saber mais sobre como criar um nome de domínio personalizado, consulte Configurar um nome de domínio regional personalizado no API Gateway.
Rotear solicitações de API
Você pode configurar mapeamentos de API com vários níveis, por exemplo, orders/v1/items
e orders/v2/items
.
Para mapeamentos de API com vários níveis, o API Gateway encaminha as solicitações ao mapeamento de API que tem o prefixo correspondente mais longo. Para selecionar a API para invocar, o API Gateway considera apenas os caminhos configurados para mapeamentos de API, e não rotas de API. Se nenhum caminho corresponder à solicitação, o API Gateway enviará a solicitação para a API que você mapeou para o caminho vazio (none)
.
Para nomes de domínio personalizados que usam mapeamentos de API com vários níveis, o API Gateway encaminha as solicitações ao mapeamento de API que tem o prefixo correspondente mais longo.
Por exemplo, considere um nome de domínio personalizado https://api.example.com
com os seguintes mapeamentos de API:
-
(none)
mapeado para a API 1. -
orders
mapeado para a API 2. -
orders/v1/items
mapeado para a API 3. -
orders/v2/items
mapeado para a API 4. -
orders/v2/items/categories
mapeado para a API 5.
Solicitação | API selecionada | Explicação |
---|---|---|
|
|
A solicitação apresenta correspondência exata a esse mapeamento de API. |
|
|
A solicitação apresenta correspondência exata a esse mapeamento de API. |
|
|
A solicitação apresenta correspondência exata a esse mapeamento de API. |
|
|
O API Gateway escolhe o mapeamento com o caminho correspondente mais longo. O |
|
|
O API Gateway escolhe o mapeamento com o caminho correspondente mais longo. |
|
|
O API Gateway usa o mapeamento vazio como um catch-all. |
|
|
O API Gateway escolhe o mapeamento com o prefixo correspondente mais longo. Para um nome de domínio personalizado configurado com mapeamentos de nível único, como somente |
Restrições
-
Em um mapeamento de API, o nome de domínio personalizado e as APIs mapeadas devem estar na mesma conta da AWS.
-
Os mapeamentos de API devem conter apenas letras, números e os caracteres a seguir:
$-_.+!*'()/
. -
O comprimento máximo para o caminho em um mapeamento de API é de 300 caracteres.
-
É possível ter 200 mapeamentos de API com vários níveis para cada nome de domínio.
-
Você só pode mapear APIs HTTP para um nome de domínio personalizado regional com a política de segurança TLS 1.2.
-
Você não pode mapear APIs WebSocket para o mesmo nome de domínio personalizado que uma API HTTP ou API REST.
Crie um mapeamento de API
Para criar um mapeamento de API, você deve primeiro criar um nome de domínio personalizado, uma API e um estágio. Para obter informações sobre como criar um nome de domínio personalizado, consulte Configurar um nome de domínio regional personalizado no API Gateway.
Para obter exemplos de modelos do AWS Serverless Application Model que criam todos os recursos, consulte Sessões com SAM