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.
Verwenden Sie API-Zuordnungen, um API-Stufen mit einem benutzerdefinierten Domainnamen für REST zu verbinden APIs
Sie verwenden API-Mappings, um API-Stufen mit einem benutzerdefinierten Domain-Namen zu verbinden. Dadurch wird Traffic APIs über Ihren benutzerdefinierten Domainnamen an Sie gesendet.
Ein API-Mapping gibt eine API, eine Phase und optional einen Pfad an, die für das Mapping verwendet werden sollen. Beispielsweise können Sie https://api.example.com/orders der production-Stufe einer API zuweisen.
Sie können HTTP-API- und REST-API--Stufen demselben benutzerdefinierten Domain-Namen zuweisen.
Bevor Sie ein API-Mapping erstellen, benötigen Sie eine API, eine Phase und einen benutzerdefinierten Domain-Namen. Weitere Informationen zum Erstellen eines benutzerdefinierten Domain-Namens finden Sie unter Einrichten eines regionalen benutzerdefinierten Domainnamens in API Gateway.
Eingehende Anfragen an Ihren benutzerdefinierten Domainnamen
Wenn Sie einen benutzerdefinierten Domainnamen einer Stufe Ihrer API zuweisen, entfernt API Gateway den eingehenden Basispfad. Dadurch wird der zugewiesene Basispfad aus dem Aufruf an die API entfernt. Wenn beispielsweise Ihre Basispfad-Zuweisung https://api.example.com/orders/shop/5 der test-Stufe zugeordnet war und Sie die folgende Anfrage https://api.example.com/orders/shop/5/hats verwendet haben, würde API Gateway die Ressource /hats der test-Stufe Ihrer API aufrufen – nicht die Ressource orders/shop/5/hats.
Zuweisen von API-Anforderungen
Im Folgenden wird erklärt, wie API Gateway API-Zuweisungen auswertet.
Sie können eine API-Zuweisung mit einstufigen Zuweisungen erstellen, z. B. eine API-Zuweisung von orders zur beta-Stufe einer API und eine API-Zuweisung von shipping zur alpha-Stufe einer API. Für regionale benutzerdefinierte Domainnamen mit der TLS-1.2-Sicherheitsrichtlinie unterstützt API Gateway mehrstufige API-Zuweisungen. Sie können z. B. eine API-Zuweisung von orders/v1/items zur alpha-Stufe einer API und orders/v2/items zur beta-Stufe einer API erstellen. Wenn Sie eine Zuweisung mit mehreren Ebenen erstellen, leitet API Gateway Anfragen an die API-Zuweisung weiter, die den längsten übereinstimmenden Pfad hat.
Sie können auch eine API-Zuweisung für den leeren Pfad (none) erstellen. Wenn kein Pfad mit der Anfrage übereinstimmt, sendet API Gateway die Anfrage an den leeren Pfad (none).
In diesem Beispiel hat der benutzerdefinierte Domainname https://api.example.com die folgenden API-Zuweisungen.
| API-Zuweisungen | Ausgewählte API |
|---|---|
|
|
API 1 |
|
|
API 2 |
|
|
API 3 |
|
|
API 4 |
|
|
API 5 |
Die folgende Tabelle zeigt, wie API Gateway die vorherigen API-Zuweisungen auf Beispielanfragen anwendet.
| Anfrage | Ausgewählte API | Erklärung |
|---|---|---|
|
|
API 2 |
Die Anforderung stimmt genau mit dieser API-Zuweisung überein. |
|
|
API 3 |
Die Anforderung stimmt genau mit diesem API-Zuweisung überein. |
|
|
API 4 |
Die Anforderung stimmt genau mit diesem API-Zuweisung überein. |
|
|
API 3 |
API Gateway wählt die Zuweisung aus, die den längsten übereinstimmenden Pfad hat. Das |
|
|
API 5 |
API Gateway wählt die Zuweisung aus, die den längsten übereinstimmenden Pfad hat. |
|
|
API 1 |
API Gateway verwendet die leere Zuweisung als Catch-All. |
|
|
API 2 |
API Gateway wählt die Zuweisung aus, die den längsten übereinstimmenden Präfix hat. Bei einem benutzerdefinierten Domainnamen, der mit einstufigen Zuweisungen konfiguriert ist, z. B. nur |
Einschränkungen
-
Bei einer API-Zuordnung APIs müssen sich der benutzerdefinierte Domainname und der zugeordnete Domainname im selben AWS Konto befinden.
-
API-Zuweisungen dürfen nur Buchstaben, Zahlen und die folgenden Zeichen enthalten:
$-_.+!*'()/. -
Die maximale Länge für den Pfad in einer API-Zuweisung beträgt 300 Zeichen.
-
Es können 200 API-Zuweisungen mit mehreren Ebenen für jeden Domainnamen vorhanden sein. Dieses Limit beinhaltet keine API-Zuweisungen mit einer einzigen Ebene, wie z. B.
/prod -
Sie können HTTP APIs nur mit der Sicherheitsrichtlinie TLS 1.2 einem regionalen benutzerdefinierten Domainnamen zuordnen.
-
Sie können nicht demselben benutzerdefinierten Domainnamen wie eine HTTP-API oder REST-API zuordnen. WebSocket APIs
-
Sie müssen den Ressourceneintrag Ihres DNS-Anbieters erstellen oder aktualisieren, um ihn dem API-Endpunkt zuzuordnen, nachdem Sie Ihre API-Zuweisungen erstellt haben.
-
Wenn Sie mehrstufige API-Zuweisungen erstellen, konvertiert API Gateway alle Header-Namen in Kleinbuchstaben.
Ein API-Mapping erstellen
Um ein API-Mapping zu erstellen, müssen Sie zuerst einen benutzerdefinierten Domain-Namen, eine API und eine Phase erstellen. Für Ihren benutzerdefinierten Domainnamen muss der Routing-Modus entweder auf ROUTING_RULE_THEN_API_MAPPING oder API_MAPPING_ONLY eingestellt sein. Weitere Informationen zum Einrichten des Routing-Modus finden Sie unter Festlegen des Routing-Modus für Ihren benutzerdefinierten Domainnamen.
AWS Serverless Application Model Vorlagen, die alle Ressourcen erstellen, finden Sie beispielsweise unter Sessions With SAM