View a markdown version of this page

Wählen Sie zwischen direktem Datenquellenzugriff und Proxyfunktion über eine Lambda-Datenquelle - AWS AppSync GraphQL

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.

Wählen Sie zwischen direktem Datenquellenzugriff und Proxyfunktion über eine Lambda-Datenquelle

Mit AWS AppSync und der APPSYNC_JS Runtime können Sie Ihren eigenen Code schreiben, der Ihre benutzerdefinierte Geschäftslogik implementiert, indem Sie AWS AppSync Funktionen für den Zugriff auf Ihre Datenquellen verwenden. Dies erleichtert Ihnen die direkte Interaktion mit Datenquellen wie Amazon DynamoDB, Aurora Serverless, OpenSearch Service, HTTP-APIs und anderen AWS Diensten, ohne zusätzliche Rechendienste oder Infrastruktur bereitstellen zu müssen. AWS AppSync macht es auch einfach, mit einer AWS Lambda Funktion zu interagieren, indem eine Lambda-Datenquelle konfiguriert wird. Mit Lambda-Datenquellen können Sie komplexe Geschäftslogik ausführen und dabei alle Funktionen nutzen AWS Lambda, um eine GraphQL-Anfrage zu lösen. In den meisten Fällen bietet eine AWS AppSync Funktion, die direkt mit ihrer Zieldatenquelle verbunden ist, alle Funktionen, die Sie benötigen. In Situationen, in denen Sie eine komplexe Geschäftslogik implementieren müssen, die von der APPSYNC_JS Laufzeit nicht unterstützt wird, können Sie eine Lambda-Datenquelle als Proxy für die Interaktion mit Ihrer Zieldatenquelle verwenden.

Direkte Datenquellenintegration Lambda-Datenquelle als Proxy
Anwendungsfall AWS AppSync Funktionen interagieren direkt mit API-Datenquellen. AWS AppSync Funktionen rufen Lambdas auf, die mit API-Datenquellen interagieren.
Laufzeit APPSYNC_JS (JavaScript) Jede unterstützte Lambda-Laufzeit
Maximale Codegröße 32.000 Zeichen pro Funktion AWS AppSync 50 MB (gezippt, für direkten Upload) pro Lambda
Externe Module Eingeschränkt — APPSYNC_JS unterstützt nur Funktionen Ja
Rufen Sie einen beliebigen Dienst an AWS Ja — Verwenden der AWS AppSync HTTP-Datenquelle Ja — mit SDK AWS
Zugriff auf den Request-Header Ja Ja
Netzwerkzugriff Nein Ja
Zugriff auf das Dateisystem Nein Ja
Protokollierung und Metriken Ja Ja
Entwickeln und testen Sie vollständig innerhalb AppSync Ja Nein
Kaltstart Nein Nein — Mit bereitgestellter Parallelität
Auto-scaling Ja — transparent von AWS AppSync Ja — Wie in Lambda konfiguriert
Preisgestaltung Keine zusätzliche Gebühr Wird für die Lambda-Nutzung in Rechnung gestellt

AWS AppSync Funktionen, die direkt in ihre Zieldatenquelle integriert werden, eignen sich ideal für Anwendungsfälle wie die folgenden:

  • Interaktion mit Amazon DynamoDB, Aurora Serverless und Service OpenSearch

  • Interaktion mit HTTP-APIs und Weitergabe eingehender Header

  • Interaktion mit AWS Diensten unter Verwendung von HTTP-Datenquellen (mit AWS AppSync automatischem Signieren von Anfragen mit der bereitgestellten Datenquellenrolle)

  • Implementierung der Zugriffskontrolle vor dem Zugriff auf Datenquellen

  • Implementierung der Filterung der abgerufenen Daten vor der Erfüllung einer Anfrage

  • Implementierung einer einfachen Orchestrierung mit sequentieller Ausführung von AWS AppSync Funktionen in einer Resolver-Pipeline

  • Steuerung von Caching- und Abonnementverbindungen bei Abfragen und Mutationen.

AWS AppSync Funktionen, die eine Lambda-Datenquelle als Proxy verwenden, eignen sich ideal für Anwendungsfälle wie die folgenden:

  • Verwenden Sie eine andere Sprache als JavaScript Velocity Template Language (VTL)

  • CPU oder Arbeitsspeicher anpassen und steuern, um die Leistung zu optimieren

  • Importieren von Bibliotheken von Drittanbietern oder Erfordern nicht unterstützter Funktionen in APPSYNC_JS

  • Mehrere Netzwerkanfragen and/or stellen, um Zugriff auf das Dateisystem zu erhalten, um eine Anfrage zu erfüllen

  • Stapeln von Anfragen mithilfe der Batching-Konfiguration.