Esempi di come API Gateway valuta le regole di routing - 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à.

Esempi di come API Gateway valuta le regole di routing

La sezione seguente mostra quattro esempi di come API Gateway valuta le regole di routing e le mappature delle API.

Esempio 1: solo regole di routing

In questo esempio, il nome di dominio personalizzato https://petstore.example.com ha la modalità di routing impostata su ROUTING_RULE_ONLY e ha le seguenti regole e priorità di routing.

ID della regola Priorità Condizioni Azione

abc123

10

Se la richiesta contiene un'intestazione: Hello:World

API Target 1

zzz000

50

Se la richiesta contiene intestazioni: Accept:image/webp Pet:Dog-* e se il percorso di base contiene PetStoreShopper

API Target 2

efg456

100

Nessuno

API di destinazione 3

La tabella seguente mostra come API Gateway applica le regole di routing precedenti a richieste di esempio.

Richiesta API selezionata Spiegazione

https://petstore.example.com -h "Hello:World"

API Target 1

La richiesta corrisponde alla regola abc123 di routing.

https://petstore.example.com/PetStoreShopper -h "Hello:World", "Pet:Dog-Bella", "Accept:image/webp"

API di destinazione 1

API Gateway valuta tutte le regole di routing in ordine di priorità. La regola di routing abc123 ha la priorità assoluta e le condizioni corrispondono, quindi API Gateway richiama Target API 1.

Sebbene le condizioni della richiesta corrispondano anche alla regola di routingzzz000, API Gateway non valuta nessun'altra regola di routing dopo aver effettuato una corrispondenza.

https://petstore.example.com/PetStoreShopper -h "Pet:Dog-Bella", "Accept:image/webp"

API Target 2

La richiesta corrisponde alla regola zzz000 di routing. Questa era una corrispondenza perché la stringa Pet:Dog-Bella corrispondeva a Pet:Dog-*

https://petstore.example.com/PetStoreShopper -h "Pet:Dog-Bella"

API Target 3

La richiesta non corrisponde alla regola abc123 di routing. La richiesta non corrisponde alla regola di routing zzz000 poiché non sono presenti tutte le intestazioni richieste. La regola di priorità successiva corrisponde a tutte le richieste in entrata, quindi API Gateway richiama Target API 3.

Esempio 2: regole di routing e mappature delle API

In questo esempio, il nome di dominio personalizzato https://petstore.diagram.example.com ha la modalità di routing impostata su ROUTING_RULE_THEN_API_MAPPING e presenta le seguenti regole di routing e mappature API.

ID della regola Priorità Condizioni Azione

abc123

1

Se richiesto, la base contiene pets

Invoca lo Prod stadio dell'PetStoreAPI.

000zzz

5

Se la richiesta contiene intestazioni:Cookie: *ux=beta* e se il percorso di base contiene /refunds

Invoca lo Beta stadio dell'RefundsAPI.

La tabella seguente mostra le mappature delle API per. https://petstore.backup.example.com

Mappatura delle API API selezionata

/refunds

Richiama la Prod fase dell'RefundsAPI.

(none)

Invoca lo Prod stadio dell'SearchAPI.

Il diagramma seguente mostra come API Gateway applica le regole di routing e le mappature API precedenti a richieste di esempio. Le richieste di esempio sono riepilogate nella tabella che segue questo diagramma.

Diagramma di come API Gateway applica le regole di routing e le mappature API precedenti.

La tabella seguente mostra come API Gateway applica le regole di routing e le mappature API precedenti a richieste di esempio.

Richiesta API selezionata Spiegazione

https://petstore.diagram.com/pets

La Prod fase dell'API. PetStore

La richiesta corrisponde alla regola abc123 di routing.

https://petstore.diagram.example.com/refunds -h "Cookie:lang=en-us;ux=beta"

La Beta fase dell'RefundsAPI.

La richiesta corrisponde alla regola 000zzz di routing. L'Cookieintestazione contiene la *contains* corrispondenza corretta e la corrispondenza del percorso di base per questa condizione.

https://petstore.diagram.example.com/refunds

La Prod fase dell'RefundsAPI.

La richiesta non ha le intestazioni richieste per corrispondere alla regola di routing. zzz000 Se API Gateway non riesce a soddisfare correttamente una regola di routing, ricorre alle mappature delle API. API Gateway può mappare il percorso di base Prod allo stadio dell'RefundsAPI.

https://petstore.diagram.example.com/

La Prod fase dell'SearchAPI.

La richiesta corrisponde alla mappatura dell'API al percorso (none) vuoto.

Esempio 3: regole di routing e mappature API a più livelli

In questo esempio, il nome di dominio personalizzato https://petstore.backup.example.com ha la modalità di routing impostata su ROUTING_RULE_THEN_API_MAPPING e ha le seguenti regole di routing e mappature API.

La tabella seguente mostra le regole di routing per. https://petstore.backup.example.com

ID della regola Priorità Condizioni Azione

abc123

10

Se la richiesta contiene un'intestazione: Hello:World

API Target 1

000zzz

50

Se la richiesta contiene intestazioni:Accept: image/webp Pet:Dog-* e se il percorso di base contiene PetStoreShopper

API Target 2

La tabella seguente mostra le mappature delle API per. https://petstore.backup.example.com

Mappatura delle API API selezionata

PetStoreShopper

API Target 3

PetStoreShopper/cats

API Target 4

La tabella seguente mostra come API Gateway applica le regole di routing e le mappature API precedenti a richieste di esempio.

Richiesta API selezionata Spiegazione

https://petstore.example.com/PetStoreShopper -h "Accept:image/webp", "Pet:Cats"

API Target 3

La richiesta non ha le intestazioni richieste per corrispondere alla regola di routing. zzz000 Se API Gateway non riesce a soddisfare correttamente una regola di routing, ricorre alle mappature delle API. API Gateway può mappare il percorso di base su Target API 3.

https://petstore.example.com/PetStoreShopper/cats -h "Hello:World"

API Target 1

La richiesta corrisponde alla regola abc123 di routing. Se la modalità di routing è impostata suROUTING_RULE_THEN_API_MAPPING, le regole di routing hanno sempre la priorità sulle mappature delle API.

https://petstore.example.com/Admin -h "Pet:Dog-Bella"

Nessuno

La richiesta non corrisponde a nessuna regola di routing o mappatura API. Poiché non esiste una regola di routing predefinita, API Gateway rifiuta la chiamata e invia al chiamante un 403 Forbidden codice di stato.

Esempio 4: regole di routing per i nomi di dominio wildcard

In questo esempio, il nome di dominio personalizzato https://*.example.com è un nome di dominio wildcard. Il wildcard supporta tutti i sottodomini che ritornano allo stesso dominio. L'esempio seguente di regole di routing modifica questo comportamento per consentire ai sottodomini di indirizzarsi verso destinazioni diverse utilizzando l'intestazione. APIs Host

La tabella seguente mostra le regole di routing per. https://*.example.com

ID della regola Priorità Condizioni Azione

abc123

10

Se la richiesta contiene un'intestazione: Host:a.example.com

API Target 1

000zzz

50

Se la richiesta contiene intestazioni: Host:b.example.com

Target API 2

efg456

500

Nessuno

API di destinazione 3

La tabella seguente mostra come API Gateway applica le regole di routing precedenti a richieste di esempio.

Richiesta API selezionata Spiegazione

https://a.example.com

API Target 1

L'Hostintestazione èa.example.com. Questa richiesta corrisponde alla regola di routing. abc123

https://b.example.com

Target API 2

L'Hostintestazione èb.example.com. Questa richiesta corrisponde alla regola di routing. 000zzz

https://testing.example.com

API Target 3

Ciò corrisponde alla regola di routing generica. efg456