Beispiele dafür, wie API Gateway Routing-Regeln auswertet - Amazon API Gateway

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Beispiele dafür, wie API Gateway Routing-Regeln auswertet

Der folgende Abschnitt zeigt 4 Beispiele dafür, wie API Gateway Routing-Regeln und API-Zuweisungen auswertet.

Beispiel 1: Nur Routing-Regeln

In diesem Beispiel ist für den benutzerdefinierten Domainnamen https://petstore.example.com der Routing-Modus auf ROUTING_RULE_ONLY eingestellt und es gelten die folgenden Routing-Regeln und Prioritäten.

Regel-ID Priorität Bedingungen Aktion

abc123

10

Wenn die Anfrage den Header enthält: Hello:World

Ziel-API 1

zzz000

50

Wenn die Anfrage die folgenden Header enthält: Accept:image/webp und Pet:Dog-* und wenn der Basispfad PetStoreShopper enthält

Ziel-API 2

efg456

100

Keine

Ziel-API 3

Die folgende Tabelle zeigt, wie API Gateway die vorherigen Routing-Regeln auf Beispielanfragen anwendet.

Anfrage Ausgewählte API Erklärung

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

Ziel-API 1

Die Anfrage entspricht der Routing-Regel abc123.

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

Ziel-API 1

API Gateway wertet alle Routing-Regeln in der Reihenfolge ihrer Priorität aus. Die Routing-Regel abc123 hat die höchste Priorität und die Bedingungen stimmen überein, daher ruft API Gateway die Ziel-API 1 auf.

Obwohl die Bedingungen der Anfrage auch der Routing-Regel zzz000 übereinstimmen, wertet API Gateway nach einer Übereinstimmung keine weiteren Routing-Regeln aus.

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

Ziel-API 2

Die Anfrage entspricht der Routing-Regel zzz000. Dies war eine Übereinstimmung, da Pet:Dog-Bella eine Zeichenfolgenübereinstimmung mit Pet:Dog-* war.

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

Ziel-API 3

Die Anfrage entspricht nicht der Routing-Regel abc123. Die Anfrage entspricht nicht der Routing-Regel zzz000, da nicht alle erforderlichen Header vorhanden sind. Die nächste Prioritätsregel entspricht allen eingehenden Anfragen, daher ruft API Gateway die Ziel-API 3 auf.

Beispiel 2: Routing-Regeln und API-Zuweisungen

In diesem Beispiel ist für den benutzerdefinierten Domainnamen https://petstore.diagram.example.com der Routing-Modus auf ROUTING_RULE_THEN_API_MAPPING festgelegt und es gelten die folgenden Routing-Regeln und API-Zuweisungen.

Regel-ID Priorität Bedingungen Aktion

abc123

1

Falls die Anfrage pets beinhaltet

Rufen Sie die Prod-Stufe der PetStore-API auf.

000zzz

5

Wenn die Anfrage die folgenden Header enthält: Cookie:*ux=beta* und wenn der Basispfad /refunds enthält

Rufen Sie die Beta-Stufe der Refunds-API auf.

Die folgende Tabelle zeigt die API-Zuweisungen für https://petstore.backup.example.com.

API-Zuweisungen Ausgewählte API

/refunds

Rufen Sie die Prod-Stufe der Refunds-API auf.

(none)

Rufen Sie die Prod-Stufe der Search-API auf.

Das folgende Diagramm veranschaulicht, wie API Gateway die zuvor genannten Routing-Regeln und API-Zuweisungen auf Beispielanfragen anwendet. Die Beispielanfragen sind in der Tabelle nach diesem Diagramm zusammengefasst.

Diagramm, wie API Gateway die vorherigen Routing-Regeln und API-Zuweisungen anwendet.

Die folgende Tabelle zeigt, wie API Gateway die vorherigen Routing-Regeln und API-Zuweisungen auf Beispielanfragen anwendet.

Anfrage Ausgewählte API Erklärung

https://petstore.diagram.com/pets

Die Prod-Stufe der PetStore-API.

Die Anfrage entspricht der Routing-Regel abc123.

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

Die Beta-Stufe der Refunds-API.

Die Anfrage entspricht der Routing-Regel 000zzz. Der Cookie-Header enthält die korrekte *contains*-Übereinstimmung und die Basispfadübereinstimmung für diese Bedingung.

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

Die Prod-Stufe der Refunds-API.

Die Anfrage verfügt nicht über die erforderlichen Header, um mit der Routing-Regel zzz000 übereinzustimmen. Wenn API Gateway eine Routing-Regel nicht erfolgreich abgleichen kann, greift es auf API-Zuweisungen zurück. API Gateway kann den Basispfad der Prod-Stufe der Refunds-API zuweisen.

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

Die Prod-Stufe der Search-API.

Die Anfrage stimmt mit der API-Zuweisung zum leeren Pfad (none) überein.

Beispiel 3: Routing-Regeln und API-Zuweisungen mit mehreren Ebenen

In diesem Beispiel ist für den benutzerdefinierten Domainnamen https://petstore.backup.example.com der Routing-Modus ROUTING_RULE_THEN_API_MAPPING festgelegt und es gelten die folgenden Routing-Regeln und API-Zuweisungen.

Die folgende Tabelle zeigt die Routing-Regeln für https://petstore.backup.example.com.

Regel-ID Priorität Bedingungen Aktion

abc123

10

Wenn die Anfrage den Header enthält: Hello:World

Ziel-API 1

000zzz

50

Wenn die Anfrage die folgenden Header enthält: Accept:image/webp und Pet:Dog-* und wenn der Basispfad PetStoreShopper enthält

Ziel-API 2

Die folgende Tabelle zeigt die API-Zuweisungen für https://petstore.backup.example.com.

API-Zuweisungen Ausgewählte API

PetStoreShopper

Ziel-API 3

PetStoreShopper/cats

Ziel-API 4

Die folgende Tabelle zeigt, wie API Gateway die vorherigen Routing-Regeln und API-Zuweisungen auf Beispielanfragen anwendet.

Anfrage Ausgewählte API Erklärung

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

Ziel-API 3

Die Anfrage verfügt nicht über die erforderlichen Header, um mit der Routing-Regel zzz000 übereinzustimmen. Wenn API Gateway eine Routing-Regel nicht erfolgreich abgleichen kann, greift es auf API-Zuweisungen zurück. API Gateway kann den Basispfad der Ziel-API 3 zuweisen.

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

Ziel-API 1

Die Anfrage entspricht der Routing-Regel abc123. Wenn der Routing-Modus auf ROUTING_RULE_THEN_API_MAPPING festgelegt ist, haben Routing-Regeln immer Vorrang vor API-Zuweisungen.

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

Keine

Die Anfrage entspricht keiner Routing-Regel und keinen API-Zuweisungen. Da keine Standard-Routing-Regel vorliegt, lehnt API Gateway den Aufruf ab und sendet dem Aufrufer den Statuscode 403 Forbidden.

Beispiel 4: Routing-Regeln für Platzhalter-Domainnamen

In diesem Beispiel ist der benutzerdefinierte Domainname https://*.example.com ein Platzhalter-Domainname. Der Platzhalter unterstützt alle Subdomains, die auf dieselbe Domain zurückgeleitet werden. Die folgenden Beispiel-Routing-Regeln ändern dieses Verhalten, sodass Subdomains mithilfe des Headers an ein anderes Ziel APIs weiterleiten können. Host

Die folgende Tabelle zeigt die Routing-Regeln für https://*.example.com.

Regel-ID Priorität Bedingungen Aktion

abc123

10

Wenn die Anfrage den Header enthält: Host:a.example.com

Ziel-API 1

000zzz

50

Wenn die Anfrage Header enthält: Host:b.example.com

Ziel-API 2

efg456

500

Keine

Ziel-API 3

Die folgende Tabelle zeigt, wie API Gateway die vorherigen Routing-Regeln auf Beispielanfragen anwendet.

Anfrage Ausgewählte API Erklärung

https://a.example.com

Ziel-API 1

Der Host-Header ist a.example.com. Diese Anfrage entspricht der Routing-Regel abc123.

https://b.example.com

Ziel-API 2

Der Host-Header ist b.example.com. Diese Anfrage entspricht der Routing-Regel 000zzz.

https://testing.example.com

Ziel-API 3

Dies entspricht der Auffang-Routing-Regel efg456.