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 vier Beispiele dafür, wie API Gateway Routing-Regeln und API-Zuordnungen auswertet.

Beispiel 1: Nur Routing-Regeln

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

Regel-ID Priorität Bedingungen Aktion

abc123

10

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

Ziel-API 1

zzz000

50

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

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-Regelabc123.

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

Ziel-API 1

API Gateway bewertet alle Routing-Regeln in der Reihenfolge ihrer Priorität. Die Routing-Regel abc123 hat die erste Priorität und die Bedingungen stimmen überein, sodass API Gateway die Ziel-API 1 aufruft.

Obwohl die Bedingungen der Anfrage auch der Routing-Regel entsprechenzzz000, bewertet API Gateway keine anderen Routing-Regeln, nachdem es eine Übereinstimmung gefunden hat.

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

Ziel-API 2

Die Anfrage entspricht der Routing-Regelzzz000. Das war eine Übereinstimmung, weil es sich um eine übereinstimmende Zeichenfolge Pet:Dog-Bella handelte Pet:Dog-*

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

Ziel-API 3

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

Beispiel 2: Routing-Regeln und API-Zuordnungen

In diesem Beispiel ist für den benutzerdefinierten Domainnamen https://petstore.diagram.example.com der Routing-Modus auf eingestellt ROUTING_RULE_THEN_API_MAPPING und er hat die folgenden Routing-Regeln und API-Zuordnungen.

Regel-ID Priorität Bedingungen Aktion

abc123

1

Auf Anfrage enthält die Basis pets

Rufen Sie die Prod Phase der PetStore API auf.

000zzz

5

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

Rufen Sie die Beta Phase der API aufRefunds.

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

API-Zuordnung Ausgewählte API

/refunds

Rufen Sie die Prod Phase der Refunds API auf.

(none)

Rufen Sie die Prod Phase der API aufSearch.

Das folgende Diagramm zeigt, wie API Gateway die vorherigen Routing-Regeln und API-Zuordnungen auf Beispielanfragen anwendet. Die Beispielanfragen sind in der Tabelle nach diesem Diagramm zusammengefasst.

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

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

Anfrage Ausgewählte API Erklärung

https://petstore.diagram.com/pets

Die Prod Phase der API. PetStore

Die Anfrage entspricht der Routing-Regelabc123.

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

Die Beta Phase der Refunds API.

Die Anfrage entspricht der Routing-Regel000zzz. Der Cookie Header enthält die richtige *contains* Übereinstimmung und die Übereinstimmung mit dem Basispfad für diese Bedingung.

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

Die Prod Phase der Refunds API.

Die Anfrage hat nicht die erforderlichen Header, um der Routing-Regel zzz000 zu entsprechen. Wenn API Gateway eine Routing-Regel nicht erfolgreich abgleichen kann, wird auf API-Zuordnungen zurückgegriffen. API Gateway kann den Basispfad der Prod Refunds API-Stufe zuordnen.

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

Die Prod Phase der Search API.

Die Anfrage ordnet die API-Zuordnung dem leeren Pfad zu(none).

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

In diesem Beispiel ist für den benutzerdefinierten Domainnamen https://petstore.backup.example.com der Routing-Modus auf eingestellt ROUTING_RULE_THEN_API_MAPPING und er hat die folgenden Routing-Regeln und API-Zuordnungen.

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 einen Header enthält: Hello:World

Ziel-API 1

000zzz

50

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

Ziel-API 2

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

API-Zuordnung 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-Zuordnungen 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 hat nicht die erforderlichen Header, um der Routing-Regel zzz000 zu entsprechen. Wenn API Gateway eine Routing-Regel nicht erfolgreich abgleichen kann, wird auf API-Zuordnungen zurückgegriffen. API Gateway kann den Basispfad der Ziel-API 3 zuordnen.

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

Ziel-API 1

Die Anfrage entspricht der Routing-Regelabc123. Wenn der Routing-Modus auf eingestellt istROUTING_RULE_THEN_API_MAPPING, haben Routing-Regeln immer Vorrang vor API-Zuordnungen.

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

Keine

Die Anfrage entspricht keinen Routing-Regeln oder API-Zuordnungen. Da es keine Standardrouting-Regel gibt, lehnt API Gateway den Anruf ab und sendet dem Anrufer einen 403 Forbidden Statuscode.

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

In diesem Beispiel https://*.example.com ist der benutzerdefinierte Domainname ein Platzhalter-Domainname. Der Platzhalter unterstützt alle Subdomänen, die zurück zu derselben Domain weiterleiten. 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 Routing-Regeln fürhttps://*.example.com.

Regel-ID Priorität Bedingungen Aktion

abc123

10

Wenn die Anfrage einen 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 ista.example.com. Diese Anfrage entspricht der Routing-Regelabc123.

https://b.example.com

Ziel-API 2

Der Host Header istb.example.com. Diese Anfrage entspricht der Routing-Regel000zzz.

https://testing.example.com

Ziel-API 3

Dies entspricht der Catch-All-Routing-Regel. efg456