amazon api gateway - entwicklerhandbuch · amazon api gateway entwicklerhandbuch architektur von...

787
Amazon API Gateway Entwicklerhandbuch

Upload: others

Post on 28-Oct-2019

74 views

Category:

Documents


0 download

TRANSCRIPT

  • Amazon API GatewayEntwicklerhandbuch

  • Amazon API Gateway Entwicklerhandbuch

    Amazon API Gateway: EntwicklerhandbuchCopyright © 2020 Amazon Web Services, Inc. and/or its affiliates. All rights reserved.

    Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's,in any manner that is likely to cause confusion among customers, or in any manner that disparages or discreditsAmazon. All other trademarks not owned by Amazon are the property of their respective owners, who may or may notbe affiliated with, connected to, or sponsored by Amazon.

  • Amazon API Gateway Entwicklerhandbuch

    Table of ContentsWas ist Amazon API Gateway? ............................................................................................................ 1

    Architektur von API Gateway ........................................................................................................ 1Funktionen von API Gateway ....................................................................................................... 2API Gateway-Anwendungsfälle ..................................................................................................... 3

    Verwenden von API Gateway zum Erstellen von REST-APIs ..................................................... 3Verwendung von API Gateway zum Erstellen von WebSocket-APIs ............................................ 3Von wem wird API Gateway verwendet? ................................................................................ 4

    Zugriff auf API Gateway .............................................................................................................. 5Teil der serverlosen AWS-Infrastruktur ........................................................................................... 5Erste Schritte mit Amazon API Gateway ........................................................................................ 5API Gateway-Konzepte ................................................................................................................ 5Preise für API Gateway ............................................................................................................... 9API Gateway-Compliance ............................................................................................................ 9

    PCI-DSS ........................................................................................................................... 9HIPAA ............................................................................................................................. 10

    Erste Schritte mit API Gateway ........................................................................................................... 11Voraussetzungen: Vorbereiten auf das Erstellen einer API in API Gateway ......................................... 11

    Anmelden für ein AWS-Konto ............................................................................................. 11Erstellen eines IAM-Administrators ....................................................................................... 11

    Erstellen einer REST-API mit Lambda-Integrationen ....................................................................... 12Schritt 1: Erstellen einer Lambda-Funktion in der Lambda-Konsole ........................................... 12Schritt 2: Erstellen Sie eine REST-API in der API Gateway-Konsole .......................................... 13Schritt 3: Bereitstellen der REST-API in der API Gateway-Konsole ............................................ 15Schritt 4: Erstellen einer zweiten Lambda-Funktion in der Lambda-Konsole ................................ 16Schritt 5: Hinzufügen einer Ressource, einer Methode und eines Parameters zur REST-API inder API Gateway-Konsole .................................................................................................. 17Nächste Schritte ............................................................................................................... 19

    Erstellen einer REST-API mit einer Mock-Integration ...................................................................... 20Schritt 1: Erstellen der API ................................................................................................. 20Schritt 2: Erstellen der Mock-Integration ............................................................................... 23Schritt 3: Definieren der erfolgreichen Antwort ....................................................................... 23Schritt 4: Hinzufügen eines HTTP-500-Statuscodes und einer Fehlermeldung ............................. 24Schritt 5: Testen der Mock-Integration .................................................................................. 24Nächste Schritte ............................................................................................................... 26

    Amazon API Gateway-Videos ..................................................................................................... 27Amazon API Gateway-Videos der Twitch-Event-Serie „Build On AWS“ ...................................... 27Sonstige Amazon API Gateway-Videos ................................................................................ 27

    Tutorials .......................................................................................................................................... 29Erstellen einer API mit Lambda-Integration ................................................................................... 29

    TUTORIAL: Hello World-API mit Lambda-Proxy-Integration ...................................................... 30TUTORIAL: Erstellen einer API mit kontoübergreifender Lambda-Proxy-Integration ...................... 35TUTORIAL: Erstellen einer API mit Lambda-Nicht-Proxy-Integration .......................................... 37

    TUTORIAL: Erstellen einer REST-API durch Importieren eines Beispiel ............................................. 46Erstellen einer API mit HTTP-Integration ...................................................................................... 55

    TUTORIAL: Erstellen einer API mit HTTP-Proxy-Integration ..................................................... 55TUTORIAL: Erstellen einer API mit benutzerdefinierter HTTP-Integration .................................... 61

    TUTORIAL: Erstellen einer API mit privater Integration ................................................................... 91TUTORIAL: Erstellen einer API mit AWS-Integration ....................................................................... 93

    Voraussetzungen .............................................................................................................. 94Schritt 1: Erstellen der Ressource ........................................................................................ 95Schritt 2: Erstellen der GET-Methode ................................................................................... 95Schritt 3: Erstellen der Ausführungsrolle für den AWS-Service-Proxy ......................................... 95Schritt 4: Angeben von Methodeneinstellungen und Testen der Methode .................................... 96Schritt 5: Bereitstellen der API ............................................................................................ 97

    iii

  • Amazon API Gateway Entwicklerhandbuch

    Schritt 6: Testen der API .................................................................................................... 98Schritt 7: Bereinigen .......................................................................................................... 98

    TUTORIAL: Calc-API mit drei Integrationen ................................................................................. 99Erstellen eines AWS-Kontos ............................................................................................... 99Erstellen einer annehmbaren IAM-Rolle .............................................................................. 100Erstellen einer Calc-Lambda-Funktion ............................................................................... 102Testen der Calc Lambda-Funktion .................................................................................... 102Erstellen einer Calc-API .................................................................................................. 104Integration 1: Erstellen einer GET-Methode mit Abfrageparametern für den Lambda-Funktionsaufruf ............................................................................................................... 104Integration 2: Erstellen einer POST-Methode mit einer JSON-Nutzlast für den Lambda-Funktionsaufruf ............................................................................................................... 106Integration 3: Erstellen einer GET-Methode mit Pfadparametern für den Lambda-Funktionsaufruf ... 109OpenAPI-Definitionen einer Beispiel-API für eine Lambda-Funktion ......................................... 114

    TUTORIAL: Erstellen einer REST-API als Amazon S3-Proxy in API Gateway .................................... 118Einrichten von IAM-Berechtigungen für die API, um Amazon S3-Aktionen aufzurufen .................. 119Erstellen von API-Ressourcen zum Darstellen von Amazon S3-Ressourcen .............................. 120Bereitstellen einer API-Methode zur Auflistung der Amazon S3-Buckets des Aufrufers ................ 121Bereitstellen von API-Methoden, um auf einen Amazon S3-Bucket zuzugreifen ......................... 127Bereitstellen von API-Methoden für den Zugriff auf ein Amazon S3-Objekt in einem Bucket .......... 130Aufrufen der API mit einem REST-API-Client ....................................................................... 133OpenAPI-Definitionen einer Beispiel-API als Amazon S3-Proxy .............................................. 135

    TUTORIAL: Erstellen einer REST-API als Amazon Kinesis-Proxy .................................................... 144Erstellen einer IAM-Rolle und-Richtlinie für die API zum Zugriff auf Kinesis ............................... 146Beginn der Erstellung einer API als Kinesis-Proxy ................................................................ 147Auflisten von Streams in Kinesis ....................................................................................... 147Erstellen, Beschreiben und Löschen eines Streams in Kinesis ................................................ 152Abrufen von Datensätzen aus und Hinzufügen von Datensätzen zu einem Stream in Kinesis ........ 158OpenAPI-Definitionen einer Beispiel-API als Kinesis-Proxy ..................................................... 169

    Erstellen, Bereitstellen und Aufrufen einer REST-API ............................................................................ 184Erstellen einer REST-API ......................................................................................................... 184

    Auswählen eines API-Endpunkttyps ................................................................................... 185Initialisieren der REST-API-Einrichtung ............................................................................... 186Einrichten von REST-API-Methoden ................................................................................... 207Einrichten von REST-API-Integrationen ............................................................................... 221Einrichten von Gateway-Antworten ..................................................................................... 266Einrichten von Datenzuordnungen ..................................................................................... 273Unterstützung binärer Nutzlasten ....................................................................................... 320Aktivieren der Nutzlastkomprimierung ................................................................................. 342Aktivieren der Anforderungsvalidierung ............................................................................... 346Importieren einer REST-API .............................................................................................. 359

    Steuern und Verwalten des Zugriffs auf eine REST-API ................................................................ 365Verwenden von API Gateway-Ressourcenrichtlinien ............................................................. 366Verwenden von IAM-Berechtigungen .................................................................................. 383Verwenden von VPC-Endpunktrichtlinien für private-APIs ...................................................... 399Verwendung von Tags zur Zugriffssteuerung auf eine REST-API ............................................ 401LambdaVerwenden von Genehmigern ................................................................................ 401Verwenden des Cognito-Benutzerpools als Genehmiger für eine REST-API .............................. 419Aktivieren von CORS für eine REST-API-Ressource ............................................................. 428Erstellen und Konfigurieren eines SSL-Zertifikats für die Backend-Authentifizierung .................... 435Verwenden von AWS WAF zum Schutz Ihrer API vor häufig vorkommenden Web-Exploits .......... 454Erstellen und Verwenden von Nutzungsplänen mit API-Schlüsseln .......................................... 456

    Dokumentieren einer REST-API ................................................................................................ 471Darstellung der API-Dokumentation in API Gateway ............................................................. 471Dokumentieren einer API mit der API Gateway-Konsole ....................................................... 479Veröffentlichen der API-Dokumentation mithilfe der API Gateway-Konsole ................................ 488Dokumentieren einer API mit der API Gateway-REST-API .................................................... 488

    iv

  • Amazon API Gateway Entwicklerhandbuch

    Veröffentlichen der API-Dokumentation mithilfe der API Gateway-REST-API ............................. 503Importieren einer API-Dokumentation ................................................................................. 510Steuern des Zugriffs auf Ihre API-Dokumentation ................................................................. 514

    Aktualisieren und Pflegen einer REST-API .................................................................................. 515Ändern eines öffentlichen oder privaten API-Endpunkttyps ..................................................... 517Pflege einer API mithilfe der Konsole ................................................................................. 519Zuordnen oder Aufheben der Zuordnung eines VPC-Endpunkts zu einer privaten REST-API ........ 521

    Bereitstellen einer REST-API .................................................................................................... 522Bereitstellen einer REST-API ............................................................................................ 524Einrichten einer Stufe ...................................................................................................... 526Generieren eines SDK für eine REST-API in API Gateway .................................................... 553

    Aufrufen einer REST-API .......................................................................................................... 569Abrufen der Aufruf-URL einer API in der API Gateway-Konsole .............................................. 569Testen einer REST-API-Methode mithilfe der Konsole ........................................................... 570Verwenden von Postman zum Aufrufen einer REST-API ....................................................... 571Aufrufen der REST-API über generierte SDKs ..................................................................... 571Aufrufen der REST-API über die AWS Amplify JavaScript-Bibliothek ........................................ 591Aufrufen einer privaten API ............................................................................................... 591

    Nachverfolgen, Protokollieren und Überwachen einer API .............................................................. 593Verfolgen von API-Ausführung mit AWS X-Ray .................................................................... 594Protokollieren von Aufrufen von Amazon API Gateway-APIs mit AWS CloudTrail ....................... 604Überwachen der API-Ausführung mit Amazon CloudWatch .................................................... 606Verwenden von Kinesis Data Firehose mit API Gateway-Zugriffsprotokollierung ......................... 612

    Erstellen, Bereitstellen und Aufrufen einer WebSocket-API .................................................................... 614Über WebSocket-APIs ............................................................................................................. 614

    Verwalten von verbundenen Benutzern und Client-Apps ........................................................ 615Aufrufen Ihrer Backend-Integration ..................................................................................... 616Senden von Daten von Backend-Services an verbundene Clients ........................................... 619

    Erstellen einer WebSocket-API .................................................................................................. 619Erstellen einer WebSocket-API mit AWS CLI-Befehlen .......................................................... 619Erstellen einer WebSocket-API mit der API Gateway-Konsole ................................................ 620

    Einrichten von WebSocket-API-Routen ....................................................................................... 620Einrichten von Routen ...................................................................................................... 620Angeben der Routenanforderungs-Einstellungen .................................................................. 621

    Einrichten von WebSocket-API-Integrationen ............................................................................... 622Einrichten einer WebSocket-API-Integrationsanforderung ....................................................... 623Einrichten von WebSocket-API-Integrationsantworten ............................................................ 626

    Einrichten von WebSocket-API-Routenantworten .......................................................................... 627Einrichten einer Routenantwort mithilfe der API Gateway-Konsole ........................................... 628Einrichten einer Routenantwort mithilfe der AWS CLI ............................................................ 628

    Bereitstellen einer WebSocket-API ............................................................................................. 628Erstellen einer WebSocket-API-Bereitstellung mithilfe der AWS CLI ......................................... 629Erstellen einer WebSocket-API-Bereitstellung mithilfe der API Gateway-Konsole ........................ 630

    Aufrufen einer WebSocket-API .................................................................................................. 630Verwenden von wscat zum Herstellen einer Verbindung mit einer WebSocket-API und Sendenvon Nachrichten an sie .................................................................................................... 631Verwenden der @connections-Befehle in Ihrem Backend-Service ......................................... 631

    Steuern des Zugriffs auf eine WebSocket-API ............................................................................. 632Verwenden der IAM-Autorisierung ...................................................................................... 633Erstellen einer REQUEST-Funktion des Lambda-Genehmigers ................................................. 634

    Überwachen der WebSocket-API-Ausführung mit CloudWatch ........................................................ 636WebSocket-Auswahlausdrücke .................................................................................................. 637

    .................................................................................................................................... 638

    .................................................................................................................................... 639

    .................................................................................................................................... 640

    .................................................................................................................................... 640

    .................................................................................................................................... 640

    v

  • Amazon API Gateway Entwicklerhandbuch

    .................................................................................................................................... 640

    .................................................................................................................................... 640

    .................................................................................................................................... 641Referenz für die WebSocket-Zuweisungsvorlage .......................................................................... 644

    HTTP APIs (Beta) ........................................................................................................................... 650HTTP API-Konzepte ................................................................................................................ 650

    Routen ........................................................................................................................... 651Integrationen .................................................................................................................. 651Phasen .......................................................................................................................... 651Bereitstellungen .............................................................................................................. 651CORS-Konfiguration ........................................................................................................ 651JWT-Genehmiger ............................................................................................................ 651Quick Create .................................................................................................................. 652JWT-Genehmiger ............................................................................................................ 652HTTP API-CORS-Konfiguration ......................................................................................... 653

    Auswahl von HTTP API oder REST API ..................................................................................... 654.................................................................................................................................... 654

    Erstellen einer HTTP API ......................................................................................................... 656Erstellen einer HTTP API mithilfe der AWS Management Console ........................................... 656Erstellen einer HTTP API mithilfe der AWS CLI ................................................................... 657

    Migration zu einer HTTP API .................................................................................................... 657.................................................................................................................................... 657

    Importieren von Validierungsinformationen .......................................................................... 657Importieren Sie eine API mithilfe des AWS CLI .................................................................... 659

    HTTP API-Protokollierung ......................................................................................................... 662HTTP API-Protokollierung ................................................................................................. 662Protokollierungsvariablen .................................................................................................. 664

    HTTP API-Kontingente ............................................................................................................. 665.................................................................................................................................... 666

    Erweiterungen für OpenAPI .............................................................................................................. 667x-amazon-apigateway-any-method ..................................................................................... 667

    Beispiele für x-amazon-apigateway-any-method ................................................................... 668x-amazon-apigateway-cors ........................................................................................................ 669

    Beispiel für x-amazon-apigateway-cors ............................................................................... 669x-amazon-apigateway-api-key-source .............................................................................. 670

    x-amazon-apigateway-api-key-source-Beispiel ...................................................................... 670x-amazon-apigateway-auth ................................................................................................ 670

    x-amazon-apigateway-auth - Beispiel ................................................................................. 671x-amazon-apigateway-authorizer ..................................................................................... 672

    Beispiele für x-amazon-apigateway-authorizer ...................................................................... 673x-amazon-apigateway-authtype ......................................................................................... 676

    x-amazon-apigateway authtype-Beispiel .............................................................................. 676Weitere Informationen finden Sie auch unter: ...................................................................... 677

    x-amazon-apigateway-binary-media-type ..................................................................................... 677x-amazon-apigateway-binary-media-types-Beispiel ................................................................ 677

    x-amazon-apigateway-documentation ......................................................................................... 677x-amazon-apigateway-documentation-Beispiel ...................................................................... 677

    x-amazon-apigateway-endpoint-configuration ............................................................................... 678x-amazon-apigateway-endpoint-configuration-Beispiel ........................................................... 678

    x-amazon-apigateway-gateway-responses ................................................................................... 678x-amazon-apigateway-gateway-responses-Beispiel ............................................................... 679

    x-amazon-apigateway-gateway-responses.gatewayResponse ......................................................... 679x-amazon-apigateway-gateway-responses.gatewayResponse-Beispiel ..................................... 680

    x-amazon-apigateway-gateway-responses.responseParameters ..................................................... 680x-amazon-apigateway-gateway-responses.repsonseParameters-Beispiel .................................. 680

    x-amazon-apigateway-gateway-responses.responseTemplates ....................................................... 681x-amazon-apigateway-gateway-responses.responseTemplates-Beispiel ................................... 681

    vi

  • Amazon API Gateway Entwicklerhandbuch

    x-amazon-apigateway-importer-version ....................................................................................... 681Beispiel für api-gateway-swagger-extensions-importer-version ................................................ 682

    x-amazon-apigateway-integration ................................................................................... 682x-amazon-apigateway-integration-Beispiel ........................................................................... 684

    x-amazon-apigateway-integration.requestTemplates ...................................................................... 685x-amazon-apigateway-integration.requestTemplates-Beispiel .................................................. 686

    x-amazon-apigateway-integration.requestParameters .................................................................... 686x-amazon-apigateway-integration.requestParameters Beispiel ............................... 687

    x-amazon-apigateway-integration.responses ................................................................................ 687x-amazon-apigateway-integration.responses Beispiel ............................................. 688

    x-amazon-apigateway-integration.response .................................................................................. 688x-amazon-apigateway-integration.response Beispiel ............................................... 689

    x-amazon-apigateway-integration.responseTemplates ................................................................... 690x-amazon-apigateway-integration.responseTemplate-Beispiel ................................................. 690

    x-amazon-apigateway-integration.responseParameters .................................................................. 690x-amazon-apigateway-integration.responseParameters Beispiel ............................. 691

    x-amazon-apigateway-request-validator ....................................................................................... 691x-amazon-apigateway-request-validator Beispiel ..................................................... 691

    x-amazon-apigateway-request-validators ..................................................................................... 692x-amazon-apigateway-request-validators Beispiel ................................................... 692

    x-amazon-apigateway-request-validators.requestValidator .............................................................. 693x-amazon-apigateway-request-validators.requestValidator Beispiel .................... 693

    Veröffentlichen Ihrer APIs ................................................................................................................. 694Verwenden Sie das serverlose Entwicklerportal, um Ihre APIs zu katalogisieren ................................ 694

    Erstellen eines Entwicklerportals ........................................................................................ 695Einstellungen des Entwicklerportals .................................................................................... 697Erstellen eines Admin-Benutzers für Ihr Entwicklerportal ........................................................ 698Veröffentlichen einer von API Gateway verwalteten API in Ihrem Entwicklerportal ...................... 699Aktualisieren oder Löschen einer von API Gateway verwalteten API ........................................ 700So entfernen Sie eine nicht von API Gateway verwaltete API ................................................. 700Veröffentlichen einer nicht von API Gateway verwalteten API in Ihrem Entwicklerportal ............... 701Wie Ihre Kunden Ihr Entwicklerportal verwenden .................................................................. 701Bewährte Methoden für Entwicklerportale ............................................................................ 703

    Verkaufen Ihrer APIs als SaaS .................................................................................................. 703Initialisieren der Integration von AWS Marketplace mit API Gateway ........................................ 704Verarbeiten von Kundenabonnements eines Nutzungsplans ................................................... 705

    Einrichten eines benutzerdefinierten Domänennamens für eine API ................................................. 707Benutzerdefinierte Domänennamen mit Platzhalter ............................................................... 709Vorbereiten von Zertifikaten in AWS Certificate Manager ....................................................... 710Auswahl der TLS-Mindestversion für eine benutzerdefinierte Domäne ...................................... 712So erstellen Sie einen Edge-optimierten benutzerdefinierten Domänennamen ........................... 716Einrichten eines regionalen benutzerdefinierten Domänennamens für eine REST-API oderWebSocket-API ............................................................................................................... 723Migrieren von benutzerdefinierten Domänennamen ............................................................... 728

    Exportieren einer REST-API ..................................................................................................... 731Anfordern zum Exportieren einer REST-API ........................................................................ 732Herunterladen der REST-API-OpenAPI-Definition als JSON ................................................... 732Herunterladen der REST-API-OpenAPI-Definition als YAML ................................................... 733Herunterladen der REST-API-OpenAPI-Definition mit Postman-Erweiterungen als JSON ............. 733Herunterladen einer REST-API-OpenAPI-Definition mit API Gateway-Integration als YAML .......... 734Exportieren einer REST-API mithilfe der API Gateway-Konsole ............................................... 734

    Einrichten einer Canary-Release-Bereitstellung ............................................................................ 735Canary-Release-Bereitstellung im API Gateway ................................................................... 735Erstellen einer Canary-Release-Bereitstellung ...................................................................... 736Aktualisieren eines Canary-Releases .................................................................................. 741Hochstufen eines Canary-Releases .................................................................................... 742Deaktivieren eines Canary-Releases .................................................................................. 745

    vii

  • Amazon API Gateway Entwicklerhandbuch

    Überwachung Ihrer API-Konfiguration ................................................................................................. 747Unterstützte Ressourcentypen ................................................................................................... 747Einrichten von AWS Config ...................................................................................................... 748Konfigurieren von AWS Config zum Aufzeichnen von API Gateway-Ressourcen ................................ 748Anzeigen von API Gateway-Konfigurationsdetails in der AWS Config-Konsole ................................... 748Bewerten von API Gateway-Ressourcen mit AWS Config-Regeln ................................................... 749

    Markieren Ihrer API Gateway-Ressourcen ........................................................................................... 750API Gateway-Ressourcen, die markiert werden können ................................................................. 750

    Tag-Vererbung in der Amazon API Gateway V1-API ............................................................. 751Tag-Einschränkungen und Nutzungskonventionen ................................................................ 752

    Tag-basierte Zugriffskontrolle .................................................................................................... 752Beispiel 1: Einschränken von Aktionen basierend auf Ressourcen-Tags ................................... 753Beispiel 2: Einschränken von Aktionen basierend auf Tags in der Anforderung .......................... 753Beispiel 3: Verweigern von Aktionen basierend auf Ressourcen-Tags ...................................... 754Beispiel 4: Erlauben von Aktionen basierend auf Ressourcen-Tags ......................................... 755

    API-Referenzen für API Gateway V1 und V2 ....................................................................................... 756Limits und wichtige Hinweise ............................................................................................................ 757

    Limits für API Gateway ............................................................................................................ 757API Gateway-Limits auf Kontoebene .................................................................................. 757API Gateway-Limits für das Konfigurieren und Ausführen einer WebSocket-API ......................... 758API Gateway-Limits für das Konfigurieren und Ausführen einer REST-API ................................ 758API GatewayGrenzwerte für bei der Erstellung, Bereitstellung und Verwaltung von APIs .............. 760

    Wichtige Hinweise ................................................................................................................... 762Wichtige Hinweise für REST- und WebSocket-APIs .............................................................. 762Wichtige Hinweise für WebSocket-APIs .............................................................................. 762Wichtige Hinweise für REST-APIs ...................................................................................... 763

    Dokumentverlauf ............................................................................................................................. 767Frühere Aktualisierungen .......................................................................................................... 771

    AWS-Glossar .................................................................................................................................. 779

    viii

  • Amazon API Gateway EntwicklerhandbuchArchitektur von API Gateway

    Was ist Amazon API Gateway?Amazon API Gateway ist ein AWS-Service, mit dem Sie Ihre REST- und WebSocket-APIs in jederGrößenordnung erstellen, veröffentlichen, warten, überwachen und absichern können. API-Entwicklerkönnen APIs erstellen, die auf AWS oder andere Web-Services sowie auf Daten zugreifen können, die inder AWS Cloud gespeichert sind. Als API Gateway-API-Entwickler können Sie APIs für die Verwendungin Ihren eigenen Client-Anwendungen (Apps) erstellen. Oder Sie können Ihre APIs Drittanbieter-App-Entwicklern zur Verfügung stellen. Weitere Informationen finden Sie unter the section called “Von wem wirdAPI Gateway verwendet?” (p. 4).

    API Gateway erstellt REST-APIs, die

    • HTTP-basiert sind• das REST-Protokoll einhalten, das die zustandslose Client-Server-Kommunikation ermöglicht.• HTTP-Standardmethoden wie GET, POST, PUT, PATCH und DELETE implementieren

    Weitere Informationen über API Gateway-REST-APIs finden Sie unter the section called “Verwendenvon API Gateway zum Erstellen von REST-APIs” (p. 3) und the section called “Erstellen einer REST-API” (p. 184).

    API Gateway erstellt WebSocket-APIs, die

    • das WebSocket-Protokoll einhalten, das die zustandsbehaftete Vollduplex-Kommunikation zwischenClient und Server ermöglicht.

    • Leiten Sie eingehende Nachrichten basierend auf dem Inhalt der Nachricht weiter.

    Weitere Informationen über API Gateway-WebSocket-APIs finden Sie unter the section called “Verwendungvon API Gateway zum Erstellen von WebSocket-APIs” (p. 3) und the section called “Über WebSocket-APIs” (p. 614).

    Themen• Architektur von API Gateway (p. 1)• Funktionen von API Gateway (p. 2)• API Gateway-Anwendungsfälle (p. 3)• Zugriff auf API Gateway (p. 5)• Teil der serverlosen AWS-Infrastruktur (p. 5)• Erste Schritte mit Amazon API Gateway (p. 5)• Amazon API Gateway-Konzepte (p. 5)• Preise für API Gateway (p. 9)• API Gateway-Compliance (p. 9)

    Architektur von API GatewayDas folgende Diagramm zeigt die API Gateway-Architektur.

    1

    https://aws.amazon.com/what-is-cloud-computing/https://en.wikipedia.org/wiki/Representational_state_transferhttps://tools.ietf.org/html/rfc6455

  • Amazon API Gateway EntwicklerhandbuchFunktionen von API Gateway

    Dieses Diagramm veranschaulicht, wie die von Ihnen in Amazon API Gateway erstellten APIs Ihnenund den Entwicklern unter Ihren Kunden eine integrierte und konsistente Entwicklungsumgebung für dieErstellung von serverlosen Anwendungen in AWS zur Verfügung stellen. API Gateway handhabt sämtlicheAufgaben im Zusammenhang mit der Annahme und Verarbeitung von Hunderttausenden gleichzeitigerAPI-Aufrufe, etwa Datenverkehrmanagement, Autorisierung und Zugriffssteuerung, Überwachung und API-Versionsmanagement. API Gateway dient Anwendungen als „Zugriffspunkt“ auf Daten, Geschäftslogikenoder Funktionalitäten über Ihre Backend-Services, wie z. B. auf Amazon Elastic Compute Cloud (AmazonEC2) ausgeführte Workloads, auf AWS Lambda ausgeführter Code, beliebige Webanwendungen oderEchtzeit-Kommunikationsanwendungen.

    Funktionen von API GatewayAmazon API Gateway bietet u. a. folgende Funktionen:

    • Unterstützung für zustandsbehaftete (WebSocket (p. 614)) und zustandslose (REST (p. 184)) APIs• Leistungsstarke, flexible Authentifizierungsmechanismen (p. 365), wie z. B. AWS Identity and Access

    Management-Richtlinien, Lambda-Genehmiger-Funktionen und Amazon Cognito-Benutzerpools.• Entwicklerportal (p. 694) zur Veröffentlichung Ihrer APIs• Canary-Release-Bereitstellungen (p. 735) für sichere fortlaufende Änderungen• CloudTrail (p. 604)-Protokollierung und -Überwachung von API-Nutzung und API-Änderungen• CloudWatch-Zugriffsprotokollierung und -Ausführungsprotokollierung, einschließlich der Möglichkeit,

    Alarme einzurichten. Weitere Informationen finden Sie unter the section called “Überwachen der API-Ausführung mit Amazon CloudWatch” (p. 606) und the section called “Überwachen der WebSocket-API-Ausführung mit CloudWatch” (p. 636).

    • Mögliche Nutzung von AWS CloudFormation-Vorlagen zur API-Erstellung. Weitere Informationen findenSie im Thema zu Amazon API Gateway-Ressourcentypen – Referenz und Amazon API Gateway V2-Ressourcentypen – Referenz.

    • Unterstützung benutzerdefinierter Domänennamen (p. 707)• AWS WAF (p. 454)-Integration zum Schutz Ihrer APIs vor vom Web ausgehenden Übergriffen• AWS X-Ray (p. 594)-Integration für ein besseres Verständnis und die Analyse leistungsbezogener

    Latenzen

    Eine vollständige Liste der neu eingeführten Funktionen von API Gateway finden Sie unterDokumentverlauf (p. 767).

    2

    https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-reference-apigateway.htmlhttps://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-reference-apigatewayv2.htmlhttps://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-reference-apigatewayv2.html

  • Amazon API Gateway EntwicklerhandbuchAPI Gateway-Anwendungsfälle

    API Gateway-AnwendungsfälleThemen

    • Verwenden von API Gateway zum Erstellen von REST-APIs (p. 3)• Verwendung von API Gateway zum Erstellen von WebSocket-APIs (p. 3)• Von wem wird API Gateway verwendet? (p. 4)

    Verwenden von API Gateway zum Erstellen vonREST-APIsEine API Gateway-REST-API besteht aus Ressourcen und Methoden. Eine Ressource ist eine logischeEntität, auf die eine App über einen Ressourcenpfad zugreifen kann. Eine Methode entspricht einerREST-API-Anforderung, die vom API-Benutzer übermittelt wird, und der Antwort, die an den Benutzerzurückgegeben wird.

    So könnte beispielsweise /incomes der Pfad der Ressource sein, die das Einkommen des App-Benutzersangibt. Eine Ressource kann für eine oder mehrere Operationen verwendet werden, die durch geeigneteHTTP-Verben wie GET, POST, PUT, PATCH und DELETE definiert sind. Eine Kombination aus einemRessourcenpfad und einer Operation identifiziert eine Methode der API. Die Methode POST /incomesbeispielsweise könnte das Einkommen des Aufrufers hinzufügen, und die Methode GET /expenseskönnte die vom Aufrufer angegebenen Ausgaben abfragen.

    Die App benötigt keine Informationen dazu, wo auf dem Backend die angeforderten Daten gespeichertund abgerufen werden. In API Gateway REST-APIs wird das Frontend durch Methodenanforderungenund Methodenantworten eingekapselt. Die API arbeitet über Integrationsanforderungen undIntegrationsantworten mit dem Backend zusammen.

    Wenn beispielsweise DynamoDB das Backend bildet, richtet der API-Entwickler dieIntegrationsanforderung so ein, dass die eingehende Methodenanforderung an das gewählte Backendweitergeleitet wird. Die Konfiguration umfasst Spezifikationen für eine geeignete DynamoDB-Aktion,eine erforderliche IAM-Rolle sowie -Richtlinien und die erforderlichen Eingabedaten. Das Backend gibtdas Ergebnis; als Integrationsantwort an API Gateway zurück. Um die Integrationsantwort auf einegeeignete Methodenantwort (eines HTTP-Statuscodes) an den Client weiterzuleiten, können Sie dieIntegrationsantwort so konfigurieren, dass die erforderlichen Antwortparameter von der Integrationder Methode zugewiesen werden. Falls erforderlich, übertragen Sie anschließend das Backend-Ausgabedatenformat in das für das Frontend erforderliche Format. API Gateway bietet die Möglichkeit,ein Schema oder Modell für die Nutzlast zu definieren, um die Einrichtung der Textzuweisungsvorlage zuerleichtern.

    API Gateway bietet REST-API-Verwaltungsfunktionalität, wie z. B.:

    • Unterstützung des Generierens von SDKs und des Erstellens von API-Dokumentation mit API Gateway-Erweiterungen von OpenAPI

    • Drosselung von HTTP-Anforderungen

    Verwendung von API Gateway zum Erstellen vonWebSocket-APIsIn einer WebSocket-API können sowohl der Client als auch der Server jederzeit Nachrichten untereinanderaustauschen. Backend-Server können problemlos Daten an verbundene Benutzer und Geräte übertragen,ohne komplexe Abfragemechanismen implementieren zu müssen.

    3

    https://en.wikipedia.org/wiki/Payload_(computing)

  • Amazon API Gateway EntwicklerhandbuchVon wem wird API Gateway verwendet?

    Beispiel: Sie können mithilfe einer API Gateway-WebSocket-API und AWS Lambda eine serverloseAnwendung zum Senden und Empfangen von Nachrichten für einzelne Benutzer oder Gruppen vonBenutzern in einem Chat-Raum entwickeln. Oder Sie können Backend-Services wie z. B. AWS Lambda,Amazon Kinesis oder einen HTTP-Endpunkt basierend auf dem Inhalt der Nachricht aufrufen.

    Sie können mit API Gateway-WebSocket-APIs sichere Echtzeit-Kommunikationsanwendungen erstellen,ohne Server zur Verwaltung von Verbindungen oder für einen umfangreichen Datenaustausch bereitstellenoder verwalten zu müssen. Zu vorgesehenen Anwendungsfällen gehören Echtzeit-Anwendungen, wie z. B.:

    • Chat-Anwendungen• Echtzeit-Dashboards, wie z. B. Aktienticker• Echtzeit-Warnungen und -Benachrichtigungen

    API Gateway bietet WebSocket-API-Verwaltungsfunktionalität wie, z. B.:

    • Überwachung und Drosselung von Verbindungen und Nachrichten• Nachverfolgung von Nachrichten mit AWS X-Ray auf dem Weg durch die APIs zu Backend-Services• Einfache Integration in HTTP/HTTPS-Endpunkte

    Von wem wird API Gateway verwendet?Es gibt zwei Arten von Entwicklern, die API Gateway verwenden: API-Entwickler und App-Entwickler.

    Ein API-Entwickler erstellt eine API und stellt sie bereit, um die erforderliche Funktionalität in API Gatewayzu aktivieren. API-Entwickler müssen im IAM-Konto, das für die API verantwortlich ist, als AWS-Benutzereingerichtet sein.

    Ein App-Entwickler erstellt eine funktionsfähige Anwendung zum Aufruf von AWS-Services, indem ein voneinem API-Entwickler in API Gateway erstelltes WebSocket- oder REST-API aufgerufen wird.

    Der App-Entwickler ist der Kunde des API-Entwicklers. Der App-Entwickler benötigt kein AWS-Konto, wenndie API keine IAM-Berechtigungen erfordert oder wenn die Autorisierung von Benutzern über Drittanbieter-Verbundidentitätsanbieter unterstützt wird, die von dem Amazon Cognito-Benutzerpool-Identitätsverbundunterstützt werden. Solche Identitätsanbieter sind beispielsweise Amazon, Amazon Cognito Benutzerpools,Facebook und Google.

    Erstellen und Verwalten einer API Gateway APIEin API-Entwickler arbeitet mit der API Gateway-Servicekomponente für die API-Verwaltung, apigateway,um eine API zu erstellen, zu konfigurieren und bereitzustellen. Jede API umfasst eine Gruppe vonRessourcen und Methoden. Eine Ressource ist eine logische Entität, auf die eine App über einenRessourcenpfad zugreifen kann.

    Als API-Entwickler können Sie mithilfe der API Gateway-Console (beschrieben unter) oder durch Aufrufenvon Erste Schritte mit Amazon API Gateway (p. 11) eine API erstellen und verwaltenAPI-Referenzen fürAPI Gateway V1 und V2 (p. 756). Es gibt mehrere Möglichkeiten, diese API aufzurufen. Sie können dieAWS-Befehlszeilen-Schnittstelle (Command Line Interface, CLI) oder ein AWS-SDK verwenden. Außerdemist die API-Erstellung auch mittels AWS CloudFormation-Vorlagen oder (im Falle von REST-APIs) APIGateway-Erweiterungen für OpenAPI (p. 667) möglich. Eine Liste der Regionen, in denen API Gatewayverfügbar ist, sowie die zugehörigen Kontrollservice-Endpunkte finden Sie unter Regionen und Endpunkte.

    Aufrufen einer API Gateway-APIEin App-Entwickler arbeitet mit der API Gateway-Servicekomponente für die API-Ausführung, execute-api, um eine API aufzurufen, die in API Gateway erstellt oder bereitgestellt wurde. Die zugrunde liegenden

    4

    https://docs.aws.amazon.com/cognito/latest/developerguide/https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-reference.htmlhttps://docs.aws.amazon.com/general/latest/gr/rande.html#apigateway_region

  • Amazon API Gateway EntwicklerhandbuchZugriff auf API Gateway

    Programmierentitäten werden von der erstellten API bereitgestellt. Es gibt mehrere Methoden für den Aufrufeiner solchen API. Sie können die API Gateway-Konsole verwenden, um das Aufrufen der API zu testen.Für REST-APIs können Sie einen REST-API-Client, z. B. cURL oder Postman oder ein von API Gatewayfür die API generiertes SDK verwenden, um die API aufzurufen.

    Zugriff auf API GatewaySie können wie folgt auf Amazon API Gateway zugreifen:

    • AWS Management Console – Die Verfahren in diesem Handbuch erläutern, wie die AWS ManagementConsole verwendet wird, um Aufgaben auszuführen.

    • AWS-SDKs – Wenn Sie eine Programmiersprache verwenden, für die AWS ein SDK anbietet, könnenSie ein SDK verwenden, um auf API Gateway zuzugreifen. SDKs vereinfachen die Authentifizierung,lassen sich leicht in die Entwicklungsumgebung integrieren und bieten einen einfachen Zugriff auf APIGateway-Befehle. Weitere Informationen finden Sie unter Tools für Amazon Web Services.

    • API Gateway V1- und V2-APIs – Wenn Sie eine Programmiersprache verwenden, für die kein SDKverfügbar ist, siehe API-Referenz für Amazon API Gateway Version 1 und API-Referenz für Amazon APIGateway Version 2.

    • AWS Command Line Interface – Weitere Informationen erhalten Sie unter Installieren mit AWSCommand Line Interface in Benutzerhandbuch für AWS Command Line Interface.

    • AWS-Tools für Windows PowerShell – Weitere Informationen finden Sie unter Einrichten von AWS-Toolsfür Windows PowerShell in AWS-Tools für Windows PowerShell-Benutzerhandbuch.

    Teil der serverlosen AWS-InfrastrukturGemeinsam mit AWS Lambda bildet API Gateway den der Anwendung zugewandten Teil derserverlosen AWS-Infrastruktur. Damit eine App öffentlich verfügbare AWS-Services aufruft, könnenSie mithilfe von Lambda mit erforderlichen Services interagieren und Lambda-Funktionen über API-Methoden in API Gateway bereitstellen. AWS Lambda führt den Code auf einer Datenverarbeitungs-Infrastruktur mit hoher Verfügbarkeit aus. Es übernimmt die erforderliche Ausführung und Verwaltung derDatenverarbeitungsressourcen. Zum Aktivieren der serverlosen Anwendungen unterstützt API Gatewayunkomplizierte Proxy-Integrationen (p. 225) mit AWS Lambda- und HTTP-Endpunkten.

    Erste Schritte mit Amazon API GatewayEine kurze Einführung in Amazon API Gateway finden Sie in den folgenden Themen:

    • Erste Schritte mit API Gateway (p. 11); stellt Anleitungen und Videos mit Anweisungen zum Erstellenvon APIs über Amazon API Gateway bereit.

    • Ankündigung von WebSocket-APIs in Amazon API Gateway zum Erstellen einer WebSocket-API

    Amazon API Gateway-KonzepteAPI Gateway

    API Gateway ist ein AWS-Service und ermöglicht Ihnen Folgendes:

    5

    https://curl.haxx.se/https://www.getpostman.com/https://aws.amazon.com/toolshttps://docs.aws.amazon.com/apigateway/api-reference/https://docs.aws.amazon.com/apigatewayv2/latest/api-reference/api-reference.htmlhttps://docs.aws.amazon.com/apigatewayv2/latest/api-reference/api-reference.htmlhttps://docs.aws.amazon.com/cli/latest/userguide/https://docs.aws.amazon.com/cli/latest/userguide/https://docs.aws.amazon.com/powershell/latest/userguide/https://docs.aws.amazon.com/powershell/latest/userguide/https://docs.aws.amazon.com/lambda/latest/dg/https://aws.amazon.com/blogs/compute/announcing-websocket-apis-in-amazon-api-gateway/

  • Amazon API Gateway EntwicklerhandbuchAPI Gateway-Konzepte

    • Erstellen, Bereitstellen und Verwalten einer REST-API (Application Programming Interface) für dieBereitstellung von HTTP-Endpunkten, AWS Lambda-Funktionen oder anderen AWS-Services imBackend.

    • Erstellen, Bereitstellen und Verwalten einer WebSocket-API für die Bereitstellung von AWS Lambda-Funktionen oder anderen AWS-Services.

    • Aufrufen der bereitgestellten API-Methoden über die HTTP- und WebSocket-Endpunkte desFrontends.

    REST-API von API Gateway

    Eine Sammlung von HTTP-Ressourcen und -Methoden, die in die HTTP-Endpunkte, Lambda-Funktionen oder andere AWS-Services im Backend integriert sind. Diese Sammlung kann ineiner oder mehreren Stufen bereitgestellt werden. In der Regel werden API-Ressourcen in einerRessourcenstruktur organisiert, die der Anwendungslogik entspricht. Jede API-Ressource kanneine oder mehrere API-Methoden mit von API Gateway unterstützten eindeutigen HTTP-Verbenbereitstellen.

    API Gateway-WebSocket-API

    Eine Sammlung von WebSockets-Routen und Routenschlüsseln, die in HTTP-Endpunkte, Lambda-Funktionen oder andere AWS-Services im Backend integriert sind. Die Sammlung kann in einer odermehreren Stufen bereitgestellt werden. API-Methoden werden über WebSocket-Verbindungen imFrontend aufgerufen, die einem registrierten benutzerdefinierten Domainnamen zugeordnet werdenkönnen.

    API-Bereitstellung

    Ein zeitpunktbezogener Snapshot Ihrer API Gateway-API. Damit eine Bereitstellung von einem Clientverwendet werden kann, muss sie mindestens einer API-Stufe zugeordnet sein.

    API-Developer

    Ihr AWS-Konto, das für eine API Gateway-Bereitstellung verantwortlich ist (z. B. ein Serviceanbieter,der auch den programmatischen Zugriff unterstützt).

    API-Endpunkt

    Ein Hostname für eine API in API Gateway, die in einer bestimmten Region bereitgestellt wird. DerHostname hat das Format {api-id}.execute-api.{region}.amazonaws.com. Die folgendenArten von API-Endpunkten werden unterstützt:• Edge-optimierter API-Endpunkt (p. 7)• Privater API-Endpunkt (p. 8)• Regionaler API-Endpunkt (p. 8)

    API-Schlüssel

    Eine alphanumerische Zeichenfolge, mit der API Gateway einen App-Developer identifiziert, dervon Ihrer REST- oder WebSocket-API Gebrauch macht. API Gateway kann für Sie API-Schlüsselgenerieren, oder Sie können sie aus einer CSV-Datei importieren. Sie können API-Schlüsselzusammen mit Lambda-Genehmigern (p. 401) oder Nutzungsplänen (p. 456) verwenden, um denZugriff auf Ihre APIs zu steuern.

    Siehe API-Endpunkte (p. 6).API-Eigentümer

    Siehe API-Developer (p. 6).API-Stufe

    Ein logischer Verweis auf einen Lebenszyklusstatus Ihrer REST- oder WebSocket-API (z. B. 'dev','prod', 'beta', 'v2'). API-Stufen werden mit API-ID und Stufenname bezeichnet.

    6

    https://en.wikipedia.org/wiki/Representational_state_transferhttps://tools.ietf.org/html/rfc6455

  • Amazon API Gateway EntwicklerhandbuchAPI Gateway-Konzepte

    App-Developer

    Ein App-Entwickler, der – mit oder ohne AWS-Konto – mit der von Ihnen als API-Developerbereitgestellten API interagiert. App-Developer sind Ihre Kunden. Ein App-Developer wird in der Regeldurch einen API-Schlüssel (p. 6) identifiziert.

    Rückruf-URL

    Wenn ein neuer Client über eine WebSocket-Verbindung verbunden wird, können Sie in API Gatewayeine Integration zum Speichern der Client-Rückruf-URL aufrufen. Sie können diese Rückruf-URL dannzum Senden von Nachrichten vom Backend-System zum Client verwenden.

    Entwicklerportal

    Eine Anwendung, mit der Ihre Kunden Ihre API-Produkte (API Gateway-Nutzungspläne) registrieren,erkennen und abonnieren, ihre API-Schlüssel verwalten und ihre Nutzungsmetriken für Ihre APIsanzeigen können.

    Edge-optimierter API-Endpunkt

    Der Standard-Hostname einer API Gateway-API, der einer bestimmten Region bei Verwendung einerCloudFront-Verteilung bereitgestellt wird, um den gewöhnlich aus verschiedenen AWS-Regionenerfolgenden Client-Zugriff zu erleichtern. API-Anforderungen werden an den nächstgelegenenCloudFront Point of Presence (POP) weitergeleitet, der in der Regel die Verbindungszeit fürgeografisch verteilte Clients verbessert.

    Siehe API-Endpunkte (p. 6).Integrationsanforderung

    Die interne Schnittstelle einer WebSocket-API-Route oder REST-API-Methode in API Gateway,über die Sie den Text einer Routenanforderung oder die Parameter und den Text einerMethodenanforderung den für das Backend erforderlichen Formaten zuordnen.

    Integrationsantwort

    Die interne Schnittstelle einer WebSocket-API-Route oder einer REST-API-Methode in API Gateway,über die Sie die Statuscodes, Header und Nutzlast, die vom Backend empfangen werden, demAntwortformat zuordnen, das an eine Client-App zurückgegeben wird.

    Zuweisungsvorlage

    Skripts in Velocity Template Language (VTL), mit denen der Anforderungstext im Frontend-Datenformat in das Backend-Datenformat konvertiert wird oder mit denen der Antworttext aus demBackend-Datenformat in das Frontend-Datenformat konvertiert wird. Zuweisungsvorlagen könnenin der Integrationsanforderung oder in der Integrationsantwort angegeben werden. Sie können aufDaten verweisen, die zur Laufzeit als Kontext- und Stufenvariablen zur Verfügung gestellt werden.Die Zuordnung kann so einfach wie eine Identitätstransformation sein, mit der für eine AnforderungHeader oder Text unverändert durch die Integration vom Client an das Backend übergeben werden.Das Gleiche gilt für eine Antwort, in der die Nutzlast vom Backend an den Client übergeben wird.

    Methodenanforderung

    Die öffentliche Schnittstelle einer REST-API-Methode in API Gateway, die Parameter und Text vorgibt,die ein App-Entwickler in Anforderungen zum Zugriff auf das Backend über die API senden muss.

    Methodenantwort

    Die öffentliche Schnittstelle einer REST-API, die Statuscodes, Header und Textmodelle vorgibt, die einApp-Developer in Antworten von der API erwarten sollte.

    Pseudointegration

    In einer Pseudointegration werden API-Antworten direkt von API Gateway generiert, ohne dass einIntegrations-Backend erforderlich ist. Sie als API-Developer legen fest, wie API Gateway auf einePseudo-Integrationsanforderung reagiert. Dazu konfigurieren Sie die Integrationsanforderung und -antwort der Methode, um einer Antwort einen bestimmten Statuscode zuzuweisen.

    7

    http://velocity.apache.org/engine/devel/vtl-reference.htmlhttps://en.wikipedia.org/wiki/Identity_transform

  • Amazon API Gateway EntwicklerhandbuchAPI Gateway-Konzepte

    Modell

    Ein Datenschema, das die Datenstruktur einer Anforderungs- oder Antwortnutzlast angibt. Ein Modellist erforderlich, um ein stark typisiertes SDK einer API zu generieren. Es wird auch zur Validierungder Nutzlast verwendet. Ein Modell bietet praktische Vorteile, da eine Beispiel-Zuweisungsvorlagegeneriert wird, über die eine Produktionszuweisungsvorlage initiiert werden kann. Für die Erstellungeiner Zuweisungsvorlage ist ein Modell zwar hilfreich, aber nicht erforderlich.

    Privates API

    Siehe Privater API-Endpunkt (p. 8).Privater API-Endpunkt

    Ein API-Endpunkt, der über Schnittstellen-VPC-Endpunkte bereitgestellt wird und einem Client densicheren Zugriff auf private API-Ressourcen innerhalb einer VPC ermöglicht. Private APIs sind vomöffentlichen Internet getrennt. Auf sie kann nur über VPC-Endpunkte für API Gateway zugegriffenwerden, denen Zugriff gewährt wurde.

    Private Integration

    Ein API Gateway-Integrationstyp für einen Client zum Zugriff auf Ressourcen in der VPC eines Kundenüber einen privaten REST-API-Endpunkt, ohne die Ressourcen im öffentlichen Internet offenzulegen.

    Proxy-Integration

    Eine vereinfachte Konfiguration für die API Gateway-Integration einer REST- oder WebSocket-API.Sie können eine Proxy-Integration als HTTP-Proxy-Integration oder als Lambda-Proxy-Integrationeinrichten. Bei der HTTP-Proxy-Integration übernimmt API Gateway die gesamte Anforderungs- undAntwortübermittlung zwischen dem Frontend und einem HTTP-Backend. Bei der Lambda-Proxy-Integration sendet API Gateway die gesamte Anforderung als Eingabe an eine Lambda-Funktion imBackend. API Gateway wandelt dann die Ausgabe der Lambda-Funktion in eine HTTP-Antwort für dasFrontend um. In REST-APIs wird die Proxy-Integration meist mit einer Proxy-Ressource verwendet, diedurch eine Greedy-Pfadvariable (z. B. {proxy+}) und die Catch-all-Methode ANY dargestellt wird.

    Regionaler API-Endpunkt

    Der Hostname einer API, die für eine bestimmte Region bereitgestellt wird und zur Bedienungvon Clients, wie z. B. EC2-Instances, in derselben AWS-Region bestimmt ist. API-Anforderungensind direkt am regionsspezifischen API Gateway ausgerichtet, ohne eine CloudFront-Verteilung zudurchlaufen. Für Anforderungen innerhalb der gleichen Region, umgeht ein regionaler Endpunkt denunnötigen Roundtrip über eine CloudFront-Verteilung. Darüber hinaus können Sie latenzbasiertesRouting an den regionalen Endpunkten anwenden, um eine API für mehrere Regionen mithilfederselben regionalen API-Endpunkt-Konfiguration bereitzustellen, um denselben benutzerdefiniertenDomänennamen für jede bereitgestellte API festzulegen und um latenzbasierte DNS-Datensätzein Route 53 zu konfigurieren, damit Client-Anforderungen an die Region mit der niedrigsten Latenzweitergeleitet werden.

    Siehe API-Endpunkte (p. 6).Route

    Eine WebSocket-Route in API Gateway wird verwendet, um eingehende Nachrichten basierendauf dem Inhalt der Nachricht an eine bestimmte Integration, wie z. B. eine AWS Lambda-Funktion,weiterzuleiten. Wenn Sie Ihre WebSocket-API definieren, geben Sie einen Routenschlüssel undein Integrations-Backend an. Der Routenschlüssel ist ein Attribut im Nachrichtentext. Wenn derRoutenschlüssel in einer eingehenden Nachricht abgeglichen wird, wird das Integrations-Backendaufgerufen. Es kann auch eine Standardroute für nicht übereinstimmende Routenschlüssel oder zurAngabe eines Proxy-Modells festgelegt werden, mit dem die Nachricht unverändert an Backend-Komponenten übergeben wird, die die Weiterleitung und Verarbeitung der Anforderung durchführen.

    Routenanforderung

    Die öffentliche Schnittstelle einer WebSocket-API-Methode in API Gateway, die den Text vorgibt, denein App-Entwickler in den Anforderungen zum Zugriff auf das Backend über die API senden muss.

    8

    https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html#routing-policy-latencyhttps://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html#routing-policy-latency

  • Amazon API Gateway EntwicklerhandbuchPreise für API Gateway

    Routenantwort

    Die öffentliche Schnittstelle einer WebSocket-API, die Statuscodes, Header und Textmodelle vorgibt,die ein App-Entwickler von API Gateway erwarten sollte.

    Nutzungsplan

    Ein Nutzungsplan (p. 456) gewährt ausgewählten API-Clients den Zugriff auf eine oder mehrerebereitgestellte REST- oder WebSocket-APIs. Sie können einen Nutzungsplan dazu verwenden, dieDrosselungs- und Kontingentlimits zu konfigurieren, die für einzelne Client-API-Schlüssel erzwungenwerden.

    WebSocket-Verbindung

    API Gateway verwaltet eine persistente Verbindung zwischen Clients und API Gateway selbst. Es gibtkeine persistente Verbindung zwischen API Gateway und Backend-Integrationen wie z. B. Lambda-Funktionen. Backend-Services werden basierend auf dem Inhalt der von Clients empfangenenNachrichten ganz nach Bedarf aufgerufen.

    Preise für API GatewayAllgemeine Informationen zu regionsspezifischen Preisen für API Gateway finden Sie unter Amazon APIGateway – Preise.

    Die folgende Liste enthält die Ausnahmen zu den allgemeinen Preisangaben:

    • Das API-Caching in Amazon API Gateway fällt nicht unter das kostenlose Kontingent für AWS.• Bei Aufrufmethoden mit dem Autorisierungstyp AWS_IAM, CUSTOM und COGNITO_USER_POOLS

    entstehen keine Gebühren für Autorisierungs- und Authentifizierungsfehler.• Bei Aufrufmethoden, die einen API-Schlüssel benötigen, entstehen keine Gebühren, wenn API-Schlüssel

    fehlen oder ungültig sind.• Bei durch API Gateway gedrosselten Anforderungen entstehen keine Gebühren, wenn die

    Anforderungsrate die vorkonfigurierten Limits überschreitet.• Für aufgrund von Nutzungsplänen gedrosselte Anforderungen entstehen keine Gebühren, wenn die

    Ratenlimits oder das Kontingent die vorkonfigurierten Limits überschreiten.

    API Gateway-ComplianceWeitere Informationen zur API Gateway-Compliance mit verschiedenen Sicherheitsanforderungen undPrüfungsstandards finden Sie auf den folgenden Seiten:

    • AWS Cloud-Compliance• AWS-Services in Scope nach Compliance-Programm

    Darüber hinaus finden Sie im Folgenden Details über die API Gateway-Compliance mit PCI DSS- undHIPAA-Standards.

    PCI-DSSAPI Gateway unterstützt die Verarbeitung, Speicherung und Übertragung von Kreditkartendaten durcheinen Händler oder Dienstanbieter. Außerdem wurde seine Konformität mit dem Payment Card Industry(PCI) Data Security Standard (DSS) bestätigt. Weitere Informationen über PCI DSS, einschließlich derAnforderung einer Kopie des AWS PCI Compliance Package, finden Sie unter PCI DSS Level 1.

    9

    https://aws.amazon.com/api-gateway/pricing/https://aws.amazon.com/api-gateway/pricing/https://docs.aws.amazon.com/apigateway/api-reference/resource/method/#authorizationTypehttps://aws.amazon.com/compliance/https://aws.amazon.com/compliance/services-in-scope/https://aws.amazon.com/compliance/pci-dss-level-1-faqs/

  • Amazon API Gateway EntwicklerhandbuchHIPAA

    HIPAADies ist ein HIPAA-berechtigter Service. Weitere Informationen über AWS, U.S. Health Insurance Portabilityand Accountability Act of 1996 (HIPAA) und die Nutzung von AWS-Services zur Verarbeitung, Speicherungund Übertragung geschützter Gesundheitsinformationen (PHI) finden Sie unter HIPAA – Übersicht.

    10

    https://aws.amazon.com/compliance/hipaa-compliance/

  • Amazon API Gateway EntwicklerhandbuchVoraussetzungen: Vorbereiten auf das

    Erstellen einer API in API Gateway

    Erste Schritte mit Amazon APIGateway

    Um Ihnen den Einstieg in Amazon API Gateway zu erleichtern, arbeiten Sie die folgenden praktischen,schrittweisen Anleitungen und anderen Ressourcen durch:

    • Voraussetzungen: Vorbereitung auf das Erstellen einer API in API Gateway beschreibt, wie ein AWS-Konto erstellt und ein IAM-Benutzer mit Administratorrechten eingerichtet wird.

    • Erstellen einer REST-API mit Lambda-Integrationen veranschaulicht, wie REST-APIs mit Lambda-Funktionen auf dem Backend erstellt werden. Es wird sowohl auf Proxy- als auch auf Nicht-Proxy-Integrationsmethoden eingegangen.

    • Erstellen einer REST-API mit einer Mock-Integration veranschaulicht, wie eine REST-API ohne eintatsächliches Backend erstellt wird.

    • TUTORIAL: Erstellen einer REST-API durch Importieren eines Beispiels veranschaulicht, wie eineBeispiel-API durch Importieren einer OpenAPI 2.0-Datei erstellt wird.

    • Erstellen einer WebSocket-API veranschaulicht, wie eine WebSocket-API in API Gateway erstellt wird.• Amazon API Gateway-Videos enthält Links zu Videos, die auf die ersten Schritte mit API Gateway

    eingehen.

    Voraussetzungen: Vorbereiten auf das Erstelleneiner API in API Gateway

    Themen• Anmelden für ein AWS-Konto (p. 11)• Erstellen eines IAM-Administrators (p. 11)

    Bevor Sie Amazon API Gateway zum ersten Mal nutzen können, müssen Sie ein AWS-Konto haben.

    In vielen Tutorials in Erste Schritte mit API Gateway (p. 11) und Tutorials (p. 29) werden dieIAM-Richtlinien für Sie erstellt. Wenn Sie eine eigene API erstellen möchten, müssen Sie jedoch dienachstehenden Informationen und die Informationen unter the section called “Verwenden von IAM-Berechtigungen” (p. 383) beachten.

    Anmelden für ein AWS-KontoSie benötigen ein AWS-Konto, um Amazon API Gateway, AWS Lambda und andere AWS-Services zunutzen. Wenn Sie noch nicht über ein AWS-Konto verfügen, navigieren Sie zu aws.amazon.com undklicken Sie auf Create an AWS Account. Detaillierte Anweisungen finden Sie unter Erstellen und Aktiviereneines AWS-Kontos.

    Erstellen eines IAM-AdministratorsAls bewährte Methode sollten Sie auch einen AWS Identity and Access Management(IAM)-Benutzermit Administratorberechtigungen erstellen. Verwenden Sie ihn für alle Aufgaben, für die keine Root-

    11

    https://docs.aws.amazon.com/apigateway/latest/developerguide/setting-up.htmlhttps://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-getting-started-with-rest-apis.htmlhttps://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-getting-started-mock.htmlhttps://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-create-api-from-example.htmlhttp://aws.amazon.com/blogs/compute/announcing-websocket-apis-in-amazon-api-gateway/https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-videos.htmlhttps://aws.amazon.com/https://aws.amazon.com/premiumsupport/knowledge-center/create-and-activate-aws-account/https://aws.amazon.com/premiumsupport/knowledge-center/create-and-activate-aws-account/

  • Amazon API Gateway EntwicklerhandbuchErstellen einer REST-API mit Lambda-Integrationen

    Anmeldeinformationen benötigt werden. Erstellen Sie ein Passwort für den Konsolenzugriff undZugriffsschlüssel zum Verwenden von Befehlszeilen-Tools. Anweisungen finden Sie unter Erstellen Ihresersten Administratorbenutzers und Ihrer ersten Administratorgruppe in IAM im IAM Benutzerhandbuch.

    Erstellen einer REST-API mit Lambda-Integrationenin Amazon API Gateway

    Sie können diese schrittweise Anleitung zum Erstellen und Bereitstellen einer REST-API mit einer Lambda-Proxy-Integration und einer Lambda-Nicht-Proxy-Integration in Amazon API Gateway verwenden.

    In einer Lambda-Integration wird die HTTP-Methodenanforderung vom Client einem Backend-Lambda-Funktionsaufruf zugeordnet.

    In einer Lambda-Proxy-Integration wird die gesamte Client-Anforderung an die Backend-Lambda-Funktiongesendet. Lediglich die Reihenfolge der Anforderungsparameter wird nicht beibehalten. API Gatewayordnet die gesamte Clientanforderung dem Eingabeparamater event der Backend-Lambda-Funktion zu.Die Ausgabe der Lambda-Funktion, einschließlich Statuscode, Header und Text, wird unverändert an denClient zurückgegeben wird. Für viele Anwendungsfälle ist dies der bevorzugte Integrationstyp. WeitereInformationen finden Sie unter the section called “Einrichten der Lambda-Proxy-Integrationen” (p. 230).

    Bei einer Lambda-Nicht-Proxy-Integration (auch als „benutzerdefinierte Integration“ bezeichnet),konfigurieren Sie die Art und Weise, wie die Parameter, die Header und der Text der Client-Anforderungin das Format übersetzt werden, das für Ihre Backend-Lambda-Funktion benötigt wird. Sie konfigurierenauch die Art und Weise, wie die Ausgabe der Lambda-Funktion zurück in das Format übersetzt wird,das vom Client benötigt wird. Weitere Informationen finden Sie unter the section called “ Einrichten vonbenutzerdefinierten Lambda-Integrationen ” (p. 242).

    Je nach Ihrem Anwendungsfall können Sie sich für die Verwendung der Lambda-Proxy-Integration, derLambda-Nicht-Proxy-Integration oder von beiden in Ihrer API Gateway-API entscheiden.

    Themen• Schritt 1: Erstellen einer Lambda-Funktion in der Lambda-Konsole (p. 12)• Schritt 2: Erstellen Sie eine REST-API in der API Gateway-Konsole (p. 13)• Schritt 3: Bereitstellen der REST-API in der API Gateway-Konsole (p. 15)• Schritt 4: Erstellen einer zweiten Lambda-Funktion in der Lambda-Konsole (p. 16)• Schritt 5: Hinzufügen einer Ressource, einer Methode und eines Parameters zur REST-API in der API

    Gateway-Konsole (p. 17)• Nächste Schritte (p. 19)

    Schritt 1: Erstellen einer Lambda-Funktion in derLambda-KonsoleIn diesem Schritt erstellen Sie mithilfe der AWS Lambda-Konsole eine einfache Lambda-Funktion. Sieverwenden diese Funktion in den folgenden Schritten.

    1. Sofern noch nicht geschehen, führen die Schritte unter the section called “Voraussetzungen:Vorbereiten auf das Erstellen einer API in API Gateway” (p. 11) aus.

    2. Führen Sie die Schritte unter So erstellen Sie eine Lambda-Funktion im AWS Lambda DeveloperGuide aus.

    12

    https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_create-admin-group.htmlhttps://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_create-admin-group.htmlhttps://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.htmlhttps://docs.aws.amazon.com/lambda/latest/dg/API_Invoke.htmlhttps://docs.aws.amazon.com/lambda/latest/dg/getting-started-create-function.html

  • Amazon API Gateway EntwicklerhandbuchSchritt 2: Erstellen Sie eine REST-

    API in der API Gateway-Konsole

    Schritt 2: Erstellen Sie eine REST-API in der APIGateway-KonsoleIn diesem Schritt erstellen Sie eine einfache REST-API in der API Gateway-Konsole und fügen IhreLambda-Funktion als Backend an.

    1. Wählen Sie im Menü Services die Option API Gateway, um zur API Gateway-Konsole zu gelangen.2. Wenn Sie API Gateway erstmals verwenden, wird eine Seite mit einer Einführung in die Funktionen

    des Service angezeigt. Wählen Sie Get Started. Wenn das Popup-Fenster Create Exampe API(Beispiel-API erstellen) angezeigt wird, klicken Sie auf OK.

    Wenn Sie API Gateway nicht erstmalig verwenden, wählen Sie Create API (API erstellen).

    3. Wählen Sie unter Choose the protocol (Das Protokoll auswählen) die Option REST aus.4. Wählen Sie unter Create new API (Neue API erstellen) die Option New API (Neue API) aus.5. Unter Settings (Einstellungen):

    • Geben Sie unter API name (API-Name) my-api ein.• Geben Sie bei Bedarf eine Beschreibung in das Feld Description (Beschreibung) ein. Andernfalls

    lassen Sie es leer.• Lassen Sie die Einstellungen für Endpoint Type (Endpunkttyp) auf Regional.

    6. Wählen Sie Create API aus.7. Unter Resourcen (Ressourcen) wird jedoch nur / angezeigt. Dies ist die Stammebenen-

    Ressource, die der Basispfad-URL für Ihre API (https://b123abcde4.execute-api.us-west-2.amazonaws.com/{stage-name}) entspricht.

    Wählen Sie im Dropdown-Menü Actions (Aktionen) die Option Create Method (Methode erstellen) aus.8. Unter dem Ressourcennamen (/) wird ein Dropdown-Menü angezeigt. Wählen Sie GET und danach

    das Häkchen-Symbol aus, um Ihre Auswahl zu speichern.9. Wählen Sie im Bereich / – GET – Setup für Integration Type (Integrationstyp) die Option Lambda

    Function (Lambda-Funktion) aus.10. Wählen Sie die Option Use Lambda Proxy integration (Lambda-Proxy-Integration verwenden) aus.11. Wählen Sie für Lambda Region (Lambda-Region) die Region aus, in der Sie Ihre Lambda-Funktion

    erstellt haben.

    13

  • Amazon API Gateway EntwicklerhandbuchSchritt 2: Erstellen Sie eine REST-

    API in der API Gateway-Konsole

    12. Geben Sie im Feld Lambda Function (Lambda-Funktion) ein beliebiges Zeichen ein und wählen Siedann my-function (oder den entsprechenden Namen, den Sie der Funktion gegeben haben, die Sieim vorherigen Schritt erstellt haben) aus dem Dropdown-Menü aus. (Wenn das Dropdown-Menü nichtangezeigt wird, löschen Sie das Zeichen, das Sie gerade eingegeben haben, um das Dropdown-Menüeinzublenden.) Lassen Sie die Option Use default Timeout (Standardzeitüberschreitung verwenden)aktiviert. Wählen Sie Save (Speichern), um Ihre Änderungen zu speichern.

    13. Wenn das Popup-Fenster Add Permission to Lambda Function (Berechtigung zu Lambda-Funktionhinzufügen) mit der Meldung „You are about to give API Gateway permission to invoke your Lambdafunction... (Sie sind im Begriff, API Gateway zum Aufruf Ihrer Lambda-Funktion zu berechtigen...“)angezeigt wird, klicken Sie auf OK, um API Gateway die Berechtigung zu erteilen.

    Jetzt wird der Bereich / – GET – Method Execution (/ – GET – Methodenausführung) angezeigt:

    Der Bereich Method Execution (Methodenausführung) enthält von links nach rechts die folgendenElemente:

    • Client: Dieses Feld repräsentiert den Client (Browser oder App), der die GET-Methode der API aufruft.Wenn Sie den Link Test und danach die Option Test wählen, wird dadurch eine GET-Anforderung voneinem Client simuliert.

    • Method Request (Methodenanforderung): Dieses Feld repräsentiert die GET-Anforderung des Clientsgenauso, wie sie von API Gateway empfangen wird. Wenn Sie Method Request (Methodenanforderung)wählen, erscheinen Einstellungen für die Autorisierung und Änderung der Methodenanforderung, bevorsie als Integrationsanforderung an das Backend übergeben wird. Behalten Sie für diesen Schritt alleStandardwerte bei.

    • Integration Request (Integrationsanforderung): Dieses Feld repräsentiert die GET-Anforderung genauso,wie sie an das Backend übergeben wird. Hier sind die Einstellungen von dem ausgewählten Wertfür Integration Type (Integrationstyp) abhängig. Die Einstellungen URL Path Parameters (Parameterdes URL-Pfades), URL Query String Parameters (Parameter der URL-Abfragezeichenfolge), HTTPHeaders (HTTP-Header) und Mapping Templates (Zuordnungsvorlagen) dienen zum Ändern derMethodenanforderung ganz nach Bedarf abhängig vom spezifischen Backend. Behalten Sie für

    14

  • Amazon API Gateway EntwicklerhandbuchSchritt 3: Bereitstellen der REST-API in der API Gateway-Konsole

    Integration Type (Integrationstyp) die Einstellung Lambda function (Lambda-Funktion) und für dieanderen Einstellungen die Standardwerte bei.

    • Lambda my-function: Dieses Feld repräsentiert die Backend-Lambda-Funktion, die Sie in Schritt 1erstellt haben. Wenn Sie my-function auswählen,wird dadurch die Lambda-Funktion my-function inder Lambda-Konsole geöffnet.

    • Integration Response (Integrationsantwort): Dieses Feld repräsentiert die Antwort vom Backend, bevorsie als Methodenantwort an den Client übergeben wird. Bei einer Lambda-Proxy-Integration ist dasgesamte Feld abgeblendet, da eine Proxy-Integration die Ausgabe der Lambda-Funktion unverändertzurückgibt. Für eine Lambda Nicht-Proxy-Integration können Sie die Integrationsantwort so konfigurieren,dass die Ausgabe der Lambda-Funktion in ein Format umgewandelt wird, das für die Client-Anwendungangemessen ist. Weitere unten in dieser schrittweisen Anleitung erfahren Sie, wie Sie dazu vorgehen.

    Behalten Sie für dieses „Erste Schritte“-Verfahren alle Standardwerte bei.• Method Response (Methodenantwort): Dieses Feld repräsentiert die Methodenantwort, die als HTTP-

    Statuscode an den Client zurückgegeben wird, einen optionalen Antwort-Header und einen optionalenAntworttext. Standardmäßig wird der von der Lambda-Funktion zurückgegebene Antworttext unverändertals JSON-Dokument übergeben. Daher lautet die Standardeinstellung des Antworttexts application/json mit einem leeren Modell (wodurch angegeben wird, dass der Text unverändert übergeben wird).Behalten Sie auch hier alle Standardwerte bei.

    Schritt 3: Bereitstellen der REST-API in der APIGateway-KonsoleSobald Sie Schritt 2 abschließen, haben Sie eine API erstellt, die aber noch nicht verwendet werden kann.Dies liegt daran, dass sie zuerst bereitgestellt werden muss.

    1. Wählen Sie im Dropdown-Menü Actions (Aktionen) die Option Deploy API (API bereitstellen) aus.2. Wählen Sie im Dropdown-Menü Deployment Stage (Bereitstellungsstufe) die Option [New Stage]

    ([Neue Stufe]) aus.3. Geben Sie für Stage Name (Stufenname) prod ein.4. Wählen Sie Deploy.5. Achten Sie im prod Stage Editor (Stufeneditor) auf die Invoke URL (Aufruf-URL oben. Sie

    sollte sich im folgenden Format befinden: (https://b123abcde4.execute-api.us-west-2.amazonaws.com/prod). Wenn Sie die Invoke URL (Aufruf-URL) wählen, öffnet sie eineneue Browser-Registerkarte mit dieser URL. Wenn Sie die neue Browser-Registerkarte aktualisieren,wird der Nachrichtentext ("Hello from Lambda!") zurückgegeben.

    Für tatsächliche API-Tests würden Sie zum Testen Ihrer API ein Tool wie cURL oder POSTMANverwenden. Wenn Sie auf Ihrem Computer z. B. cURL installiert haben, können Sie Ihre API wie folgttesten:

    1. Öffnen Sie ein Terminal-Fenster.2. Kopieren Sie den folgenden cURL-Befehl und fügen Sie ihn in das Terminalfenster ein. Ersetzen Sie

    dabei b123abcde4 durch dieAPI-ID Ihrer API und us-west-2 durch die Region, in der Ihre APIbereitgestellt wird.

    Linux or Macintosh

    curl -X GET 'https://b123abcde4.execute-api.us-west-2.amazonaws.com/prod'

    15

    https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-lambda-proxy-integrations.html#api-gateway-simple-proxy-for-lambda-output-formathttps://curl.haxx.se/https://www.getpostman.com/

  • Amazon API Gateway EntwicklerhandbuchSchritt 4: Erstellen einer zweiten Lambda-

    Funktion in der Lambda-Konsole

    Windows

    curl -X GET "https://b123abcde4.execute-api.us-west-2.amazonaws.com/prod"

    Dieser Befehl gibt die folgende Ausgabe zurück: "Hello from Lambda!".

    Schritt 4: Erstellen einer zweiten Lambda-Funktion inder Lambda-KonsoleIn diesem Schritt erstellen Sie eine zweite Backend-Lambda-Funktion. Für sie ist ein Eingabeparametererforderlich. In Schritt 5 erstellen Sie eine untergeordnete Ressource in Ihrer API, die über eine eigeneGET-Methode verfügt, die Sie zur Übergabe eines Parameterwertes an diese neue Funktion konfigurieren.

    1. Wählen Sie Lambda aus dem Menü Services aus, um zur Lambda-Konsole zu gelangen.2. Wählen Sie Create function (Funktion erstellen).3. Wählen Sie Author from scratch aus.4. Geben Sie für Function name (Funktionsname) my-function2 ein.5. Wählen Sie unter Runtime (Laufzeit) die Option Node.js 8.10 oder Python 3.7 aus.6. Erweitern Sie unter Permissions (Berechtigungen) den Bereich Choose or create an execution

    role (Ausführungsrolle wählen oder erstellen). Wählen Sie in der Dropdown-Liste Execution role(Ausführungsrolle) die Option Use an existing role (Eine vorhandene Rolle verwenden) aus. WählenSie unter Existing role (Vorhandene Rolle) die Rolle von der vorhrigen Lambda-Funktion aus. DerName der Rolle besitzt das folgende Format: service-role/my-function-a1b23c4d. Oderwählen Sie Create a new role with basic Lambda permissions (Neue Rolle mit grundlegenden Lambda-Berechtigungen erstellen) aus.

    7. Wählen Sie Create function (Funktion erstellen).8. Im Bereich Function code (Funktionscode) wird die Standardfunktion „Hello from Lambda!“ angezeigt.

    Ersetzen Sie die gesamte Funktion durch Folgendes:

    Node.js 8.10

    exports.handler = async (event) => { let myParam = event.myParam; const response = { statusCode: 200, body: JSON.stringify(myParam) }; return response;};

    Python 3.7

    import jsondef lambda_handler(event, context): myParam = event['myParam'] return { 'statusCode': 200, 'body': json.dumps(myParam) }

    9. Wählen Sie Save aus.

    16

  • Amazon API Gateway EntwicklerhandbuchSchritt 5: Hinzufügen einer Ressource,

    einer Methode und eines Parameters zurREST-API in der API Gateway-Konsole

    Schritt 5: Hinzufügen einer Ressource, einer Methodeund eines Parameters zur REST-API in der APIGateway-KonsoleRessourcen und Methoden sind die Substantive und Verben Ihrer REST-API. In diesem Schritt erstellenSie eine untergeordnete Ressource für die API und fügen eine GET -Methode zur Ressource hinzu. Siefügen einen Abfragezeichenfolgen-Parameter entsprechend dem Eingabeparameter für die von Ihnenin Schritt 4 erstellte Lambda-Funktion zur neuen Methode hinzu. Sie integrieren die neue Funktion indie Methode, um zu veranschaulichen, wie eine Benutzereingabe angefordert wird (eine einfache „Hellovon API Gateway!“-Textzeichenfolge), und ordnen sie der Eingabe der Lambda-Funktion (ebenfalls eineeinfache Zeichenfolge) zu.

    1. Wählen Sie API Gateway im Menü Services aus, um zur API Gateway-Konsole zu gelangen.2. Wählen Sie in der Liste APIs die Option my-api aus.3. Wählen Sie unter Resources (Ressourcen) die Option / aus.4. Wählen Sie im Dropdown-Menü Actions (Aktionen) die Option Create Resource (Ressource erstellen)

    aus.5. Geben Sie für Resource Name (Ressourcenname) my-resource ein. Beachten Sie, dass das Feld

    Resource Path (Ressourcen-Pfad) automatisch mit dem Ressourcennamen ausgefüllt wird.6. Wählen Sie Create Resource (Ressource erstellen) aus.7. Wählen Sie im Dropdown-Menü Actions (Aktionen) die Option Create Method (Methode erstellen) aus.8. Unter dem Ressourcennamen (my-resource) wird ein Dropdown-Menü angezeigt. Wählen Sie GET

    und danach das Häkchen-Symbol aus, um Ihre Auswahl zu speichern.9. Wählen Sie im Bereich /my-resource – GET – Setup für Integration type (Integrationstyp) die Option

    Lambda Function (Lambda-Funktion) aus.10. Wählen Sie für Lambda Region (Lambda-Region) die Region aus, in der Sie Ihre Lambda-Funktion

    erstellt haben.11. Geben Sie im Feld Lambda Function (Lambda-Funktion) ein beliebiges Zeichen ein und wählen Sie

    dann my-function2 aus dem Dropdown-Menü aus. (Wenn das Dropdown-Menü nicht angezeigt wird,löschen Sie das Zeichen, das Sie gerade eingegeben haben, um das Dropdown-Menü einzublenden.)Wählen Sie Save (Speichern), um Ihre Änderungen zu speichern.

    12. Wenn das Popup-Fenster Add Permission to Lambda Function (Berechtigung zur Lambda-Funktionhinzufügen) mit der Meldung „You are about to give API Gateway permission to invoke your Lambdafunction…“ (Sie sind im Begriff, API Gateway zum Aufruf Ihrer Lambda-Funktion zu berechtigen…)erscheint, klicken Sie auf „OK“, um API Gateway diese Berechtigung zu erteilen.

    13. Nun wird der Bereich /my-Ressource – GET – Method Execution (/my-Ressource – GET– Methodenausführung) angezeigt. Beachten Sie, dass das Feld Integration Response(Integrationsantwort) dieses Mal nicht abgeblendet ist.

    Wählen Sie Integrationsanforderung aus.

    17

  • Amazon API Gateway EntwicklerhandbuchSchritt 5: Hinzufügen einer Ressource,

    einer Methode und eines Parameters zurREST-API in der API Gateway-Konsole

    14. Erweitern Sie Mapping Templates.15. Stellen Sie Request body passthrough (Anforderungstext-Pass-Through) auf When there are no

    templates defined (Wenn keine Vorlagen definiert sind) ein.16. Wählen Sie Add mapping template.17. Geben Sie für Content-Type application/json ein und wählen Sie das Häkchen-Symbol, um die

    Auswahl zu speichern.18. Wenn das Popup-Fenster Change passthrough behavior (Pass-Through-Verhalten ändern)

    eingeblendet wird, wählen Sie Yes, secure this integration aus. Auf diese Weise wird sichergestellt,dass Ihre Integration nur Anforderungen gestattet, die dem gerade v