

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
<a name="rest-api-routing-rules-examples"></a>

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

## Beispiel 1: Nur Routing-Regeln
<a name="rest-api-routing-rules-examples-rule-only"></a>

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  |  Action  | 
| --- | --- | --- | --- | 
|  `abc123`  |   10   |   Wenn die Anfrage einen 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
<a name="rest-api-routing-rules-examples-rule-and-mappings"></a>

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  |  Action  | 
| --- | --- | --- | --- | 
|  `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.\]](http://docs.aws.amazon.com/de_de/apigateway/latest/developerguide/images/rr-diagram.png)


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
<a name="rest-api-routing-rules-examples-rule-and-mappings-with-multiple-levels"></a>

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  |  Action  | 
| --- | --- | --- | --- | 
|  `abc123`  |   10   |   Wenn die Anfrage einen 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
<a name="rest-api-routing-rules-examples-rule-for-wildcard-domains"></a>

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  |  Action  | 
| --- | --- | --- | --- | 
|  `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 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`.  | 