Utilizza le mappature delle API per connettere le fasi dell'API a un nome di dominio personalizzato per REST APIs - 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à.

Utilizza le mappature delle API per connettere le fasi dell'API a un nome di dominio personalizzato per REST APIs

È possibile utilizzare le mappature API per connettere le fasi API a un nome di dominio personalizzato. Questo invia traffico al tuo APIs tramite il tuo 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 https://api.example.com/orders alla fase production di un’API.

È 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 Configurazione di un nome di dominio personalizzato regionale in Gateway API.

Richieste in entrata per il nome di dominio personalizzato

Quando si mappa un nome di dominio personalizzato a una fase dell’API, Gateway API elimina il percorso di base in entrata. In tal modo si rimuove il percorso di base mappato dall’invocazione all’API. Ad esempio, se la mappatura percorso di base è https://api.example.com/orders/shop/5 per la fase test e si utilizza la richiesta https://api.example.com/orders/shop/5/hats, Gateway API invoca la risorsa /hats della fase test dell’API, non la risorsa orders/shop/5/hats.

Richieste di mappatura API

Di seguito viene illustrato come Gateway API valuta le mappature API.

È possibile creare una mappatura API utilizzando mappature a livello singolo, ad esempio una mappatura API da orders alla fase beta di un’API e una mappatura API da shipping alla fase alpha di un’API. Per i nomi di dominio personalizzati regionali con la policy di sicurezza TLS 1.2, Gateway API supporta le mappature API a più livelli. È possibile creare una mappatura API da orders/v1/items alla fase alpha di un’API e da orders/v2/items alla fase beta di un’API. Quando si crea una mappatura a più livelli, Gateway API invia le richieste alla mappatura API che ha il percorso corrispondente più lungo.

È possibile creare una mappatura API per il percorso vuoto (none). Se nessun percorso corrisponde alla richiesta, Gateway API invia la richiesta al percorso vuoto (none).

In questo esempio, il nome di dominio personalizzato https://api.example.com ha le seguenti mappature API.

Mappatura API API selezionata

(none)

API 1

orders

API 2

orders/v1/items

API 3

orders/v2/items

API 4

orders/v1/items/categories

API 5

La tabella seguente mostra come Gateway API applica le mappature API precedenti alle richieste di esempio.

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. Per informazioni, consulta Richieste in entrata per il nome di dominio personalizzato.

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 quello mappato APIs devono trovarsi nello stesso AWS account.

  • 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. Questo limite non include le mappature API con livelli singoli, ad esempio /prod.

  • Puoi mappare HTTP solo su un nome APIs di dominio personalizzato regionale con la politica di sicurezza TLS 1.2.

  • Non è possibile eseguire il WebSocket APIs mapping allo stesso nome di dominio personalizzato di un'API HTTP o di un'API REST.

  • Dopo aver creato le mappature API, è necessario creare o aggiornare il record di risorse del provider DNS per eseguire la mappatura all'endpoint API.

  • Se si crea una mappatura API con più livelli, Gateway API converte tutti i nomi di intestazione in lettere minuscole.

Creare una mappatura API

Per creare una mappatura API, innanzitutto è necessario creare un nome di dominio personalizzato, un'API e una fase. Il nome di dominio personalizzato deve avere la modalità di routing impostata su ROUTING_RULE_THEN_API_MAPPING o API_MAPPING_ONLY. Per informazioni su come impostare la modalità di routing, consultare Impostazione della modalità di routing per il nome di dominio personalizzato.

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

AWS Management Console
  1. Accedi alla console API Gateway all'indirizzo https://console.aws.amazon.com/apigateway.

  2. Scegliere Custom Domain Names (Nomi di dominio personalizzati) nel riquadro di navigazione principale.

  3. Scegliere un nome di dominio personalizzato.

  4. Nella scheda Dettagli di routing, scegliere Configura delle mappature API.

  5. Specifica API, Fase e Percorso per la mappatura.

  6. Selezionare Salva.

AWS CLI

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

Nota

Per creare mappature API con più livelli, è necessario utilizzare apigatewayv2.

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.

Nota

Per creare mappature API con più livelli, è necessario utilizzare AWS::ApiGatewayV2.

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