APIOrdnen Sie Stufen einem benutzerdefinierten Domainnamen zu für REST APIs - APIAmazon-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.

APIOrdnen Sie Stufen einem benutzerdefinierten Domainnamen zu für REST APIs

Sie verwenden API Zuordnungen, um API Stufen mit einem benutzerdefinierten Domänennamen zu verbinden. Nachdem Sie einen Domainnamen erstellt und DNS Datensätze konfiguriert haben, verwenden Sie API Mappings, um Traffic APIs über Ihren benutzerdefinierten Domainnamen an Sie weiterzuleiten.

Eine API Zuordnung gibt eineAPI, eine Phase und optional einen Pfad an, der für die Zuordnung verwendet werden soll. Sie können beispielsweise die production Phase eines Zuweisers API zuordnenhttps://api.example.com/orders.

Sie können REST API Stages demselben benutzerdefinierten Domainnamen zuordnen. HTTP

Bevor Sie eine API Zuordnung erstellen, benötigen Sie einen DomainnamenAPI, einen Staging-Namen und einen benutzerdefinierten Domainnamen. Weitere Informationen zum Erstellen eines benutzerdefinierten Domain-Namens finden Sie unter Richten Sie einen regionalen benutzerdefinierten Domainnamen in API Gateway ein.

APIAnfragen weiterleiten

Sie können API Zuordnungen mit mehreren Ebenen konfigurieren, zum Beispiel orders/v1/items und. orders/v2/items

Anmerkung

Um API Zuordnungen mit mehreren Ebenen zu konfigurieren, müssen Sie einen regionalen benutzerdefinierten Domänennamen mit der TLS Sicherheitsrichtlinie 1.2 verwenden.

Bei API Zuordnungen mit mehreren Ebenen leitet API Gateway Anfragen an die API Zuordnung weiter, die den längsten passenden Pfad hat. APIGateway berücksichtigt bei der Auswahl der API aufzurufenden Zuordnungen nur die für Zuordnungen konfigurierten Pfade und nicht die API Routen. API Wenn kein Pfad mit der Anfrage übereinstimmt, sendet API Gateway die Anfrage an den PfadAPI, den Sie dem leeren Pfad zugeordnet haben. (none)

Bei benutzerdefinierten Domainnamen, die API Zuordnungen mit mehreren Ebenen verwenden, leitet API Gateway Anfragen an die API Zuordnung weiter, die das längste passende Präfix hat.

Stellen Sie sich beispielsweise einen benutzerdefinierten Domainnamen https://api.example.com mit den folgenden API Zuordnungen vor:

  1. (none)1 zugeordnet. API

  2. orders2 zugeordnet. API

  3. orders/v1/items3 zugeordnet. API

  4. orders/v2/items4 zugeordnet. API

  5. orders/v2/items/categories5 zugeordnet. API

Anforderung Ausgewählt API Erklärung

https://api.example.com/orders

API 2

Die Anfrage entspricht genau dieser API Zuordnung.

https://api.example.com/orders/v1/items

API 3

Die Anfrage entspricht genau dieser API Zuordnung.

https://api.example.com/orders/v2/items

API 4

Die Anfrage entspricht genau dieser API Zuordnung.

https://api.example.com/orders/v1/items/123

API 3

APIGateway wählt das Mapping aus, das den längsten passenden Pfad hat. Das 123 am Ende der Anforderung hat keinen Einfluss auf die Auswahl.

https://api.example.com/orders/v2/items/categories/5

API 5

APIGateway wählt das Mapping mit dem längsten passenden Pfad.

https://api.example.com/customers

API 1

APIGateway verwendet das leere Mapping als Sammelbegriff.

https://api.example.com/ordersandmore

API 2

APIGateway wählt das Mapping mit dem am längsten passenden Präfix.

Für einen benutzerdefinierten Domainnamen, der mit einstufigen Zuordnungen wie nur https://api.example.com/orders und konfiguriert isthttps://api.example.com/, würde API Gateway wählenAPI 1, da es keinen passenden Pfad mit gibt. ordersandmore

Einschränkungen

  • Bei einer API Zuordnung müssen sich der benutzerdefinierte Domänenname und der zugeordnete Domänenname im APIs selben Konto befinden. AWS

  • APIZuordnungen dürfen nur Buchstaben, Zahlen und die folgenden Zeichen enthalten:. $-_.+!*'()/

  • Die maximale Länge für den Pfad in einer API Zuordnung beträgt 300 Zeichen.

  • Sie können 200 API Zuordnungen mit mehreren Ebenen für jeden Domainnamen haben.

  • Eine Zuordnung HTTP APIs zu einem regionalen benutzerdefinierten Domainnamen ist nur mit der Sicherheitsrichtlinie TLS 1.2 möglich.

  • Sie können nicht denselben benutzerdefinierten Domainnamen wie ein HTTP API oder zuordnen RESTAPI. WebSocket APIs

Erstellen Sie eine API Zuordnung

Um eine API Zuordnung zu erstellen, müssen Sie zunächst einen benutzerdefinierten Domainnamen und eine benutzerdefinierte Stufe erstellen. API Informationen zum Erstellen eines benutzerdefinierten Domain-Namens finden Sie unter Richten Sie einen regionalen benutzerdefinierten Domainnamen in API Gateway ein.

AWS Serverless Application Model Vorlagen, die alle Ressourcen erstellen, finden Sie beispielsweise unter Sessions With SAM on GitHub.

AWS Management Console
Um ein API Mapping zu erstellen
  1. Melden Sie sich bei der API Gateway-Konsole unter https://console.aws.amazon.com/apigatewayan.

  2. Wählen Sie benutzerdefinierte Domain-Namen aus.

  3. Wählen Sie einen benutzerdefinierten Domain-Namen aus, den Sie bereits erstellt haben.

  4. Wählen Sie Zuordnungen aus. API

  5. Wählen Sie Zuordnungen konfigurieren API.

  6. Wählen Sie Neues Mapping hinzufügen aus.

  7. Geben Sie einen API, eine Phase und optional einen Pfad ein.

  8. Wählen Sie Save (Speichern) aus.

AWS CLI

Der folgende AWS CLI Befehl erstellt ein API Mapping. In diesem Beispiel sendet API Gateway Anfragen api.example.com/v1/orders an die angegebene API Endstufe.

Anmerkung

Um API Zuordnungen mit mehreren Ebenen zu erstellen, müssen Sie verwenden. apigatewayv2

aws apigatewayv2 create-api-mapping \ --domain-name api.example.com \ --api-mapping-key v1/orders \ --api-id a1b2c3d4 \ --stage test
AWS CloudFormation

Im folgenden AWS CloudFormation Beispiel wird ein API Mapping erstellt.

Anmerkung

Um API Mappings mit mehreren Ebenen zu erstellen, müssen Sie verwenden. AWS::ApiGatewayV2

MyApiMapping: Type: 'AWS::ApiGatewayV2::ApiMapping' Properties: DomainName: api.example.com ApiMappingKey: 'orders/v2/items' ApiId: !Ref MyApi Stage: !Ref MyStage