Mappa le fasi dell'API su un nome di dominio personalizzato per le API HTTP - Amazon API Gateway

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Mappa le fasi dell'API su un nome di dominio personalizzato per le API HTTP

È possibile utilizzare le mappature API per connettere le fasi API a un nome di dominio personalizzato. Dopo aver creato un nome di dominio e aver configurato i record DNS, è possibile utilizzare le mappature API per inviare il traffico alle API tramite il nome di dominio personalizzato.

Una mappatura API specifica un'API, una fase e, facoltativamente, un percorso da utilizzare per la mappatura. Ad esempio, è possibile mappare la fase production di un'API su https://api.example.com/orders.

È possibile mappare le fasi HTTP e API REST allo stesso nome di dominio personalizzato.

Prima di creare una mappatura API, è necessario disporre di un'API, di una fase e di un nome di dominio personalizzato. Per ulteriori informazioni sulla creazione di un nome di dominio personalizzato, consulta Configura un nome di dominio personalizzato regionale in API Gateway.

Routing delle richieste API

È possibile configurare le mappature API con più livelli, ad esempio orders/v1/items e orders/v2/items.

Per mappature API con più livelli, API Gateway instrada le richieste alla mappatura API che ha il percorso corrispondente più lungo. API Gateway considera solo i percorsi configurati per le mappature API, e non i percorsi API, per selezionare l'API da richiamare. Se nessun percorso corrisponde alla richiesta, API Gateway invia la richiesta all'API mappata al percorso vuoto (none).

Per i nomi di dominio personalizzati che usano mappature API con più livelli, API Gateway instrada le richieste alla mappatura API che ha il percorso corrispondente più lungo.

Ad esempio, se si considera un nome di dominio personalizzato https://api.example.com con le seguenti mappature API:

  1. (none) mappato all'API 1.

  2. orders mappato all'API 2.

  3. orders/v1/items mappato all'API 3.

  4. orders/v2/items mappato all'API 4.

  5. orders/v2/items/categories mappato all'API 5.

Richiesta API selezionata Spiegazione

https://api.example.com/orders

API 2

La richiesta corrisponde esattamente a questa mappatura API.

https://api.example.com/orders/v1/items

API 3

La richiesta corrisponde esattamente a questa mappatura API.

https://api.example.com/orders/v2/items

API 4

La richiesta corrisponde esattamente a questa mappatura API.

https://api.example.com/orders/v1/items/123

API 3

API Gateway sceglie la mappatura con il percorso corrispondente più lungo. 123 alla fine della richiesta non influisce sulla selezione.

https://api.example.com/orders/v2/items/categories/5

API 5

API Gateway sceglie la mappatura con il percorso corrispondente più lungo.

https://api.example.com/customers

API 1

API Gateway utilizza la mappatura vuota come catch-all.

https://api.example.com/ordersandmore

API 2

API Gateway sceglie la mappatura con il prefisso corrispondente più lungo. Per un nome di dominio personalizzato configurato con mappature a livello singolo, ad esempio solo https://api.example.com/orders e https://api.example.com/, API Gateway sceglie API 1, poiché non esiste un percorso corrispondente con ordersandmore.

Restrizioni

  • In una mappatura API, il nome di dominio personalizzato e le API mappate devono trovarsi nello stesso account. AWS

  • Le mappature API devono contenere solo lettere, numeri e i seguenti caratteri: $-_.+!*'()/.

  • La lunghezza massima per il percorso in una mappatura API è di 300 caratteri.

  • È possibile disporre di 200 mappature API con più livelli per ogni nome di dominio.

  • È possibile mappare le API HTTP a un nome di dominio personalizzato regionale solo con la policy di sicurezza TLS 1.2.

  • Non WebSocket è possibile mappare le API allo stesso nome di dominio personalizzato di un'API HTTP o di un'API REST.

Creare una mappatura API

Per creare una mappatura API, innanzitutto è necessario creare un nome di dominio personalizzato, un'API e una fase. Per informazioni sulla creazione di un nome di dominio personalizzato, consulta Configura un nome di dominio personalizzato regionale in API Gateway.

Per esempio i AWS Serverless Application Model modelli che creano tutte le risorse, vedi Sessions With SAM on GitHub.

AWS Management Console
Per creare una mappatura API
  1. Accedere alla console API Gateway all'indirizzo https://console.aws.amazon.com/apigateway.

  2. Scegliere Nomi di dominio personalizzati.

  3. Selezionare un nome di dominio personalizzato già creato.

  4. Scegliere API mappings (mappature API).

  5. Scegliere Configure API mappings (Configura mappature API).

  6. Scegliere Add new mapping (Aggiungi nuova mappatura).

  7. Immettere un'API, uno Stage (Fase)e, facoltativamente, un Path (Percorso).

  8. Selezionare Salva.

AWS CLI

Il AWS CLI comando seguente crea una mappatura delle API. In questo esempio, API Gateway invia le richieste api.example.com/v1/orders all'API e alla fase specificate.

aws apigatewayv2 create-api-mapping \ --domain-name api.example.com \ --api-mapping-key v1/orders \ --api-id a1b2c3d4 \ --stage test
AWS CloudFormation

L' AWS CloudFormation esempio seguente crea una mappatura delle API.

MyApiMapping: Type: 'AWS::ApiGatewayV2::ApiMapping' Properties: DomainName: api.example.com ApiMappingKey: 'orders/v2/items' ApiId: !Ref MyApi Stage: !Ref MyStage