View a markdown version of this page

Datenquellen - 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.

Datenquellen

Im vorherigen Abschnitt haben wir gelernt, dass ein Schema die Form Ihrer Daten definiert. Wir haben jedoch nie erklärt, woher diese Daten stammen. In echten Projekten ist Ihr Schema wie ein Gateway, das alle Anfragen an den Server verarbeitet. Wenn eine Anfrage gestellt wird, fungiert das Schema als einziger Endpunkt, der eine Schnittstelle zum Client herstellt. Das Schema greift auf Daten aus der Datenquelle zu, verarbeitet sie und leitet sie zurück an den Client weiter. Sehen Sie sich die folgende Infografik an:

GraphQL-Schema, das mehrere AWS-Services für eine einzelne Endpunkt-API-Architektur integriert.

AWS AppSync und GraphQL implementieren hervorragend Backend For Frontend (BFF) -Lösungen. Sie arbeiten Hand in Hand, um die Komplexität im großen Maßstab zu reduzieren, indem sie das Backend abstrahieren. Wenn Ihr Service verschiedene Datenquellen ( and/orMicroservices) verwendet, können Sie im Wesentlichen einen Teil der Komplexität abstrahieren, indem Sie die Form der Daten jeder Quelle (Untergraph) in einem einzigen Schema (Supergraph) definieren. Das bedeutet, dass Ihre GraphQL-API nicht auf die Verwendung einer Datenquelle beschränkt ist. Sie können eine beliebige Anzahl von Datenquellen mit Ihrer GraphQL-API verknüpfen und in Ihrem Code angeben, wie sie mit dem Dienst interagieren.

Wie Sie in der Infografik sehen können, enthält das GraphQL-Schema alle Informationen, die Kunden benötigen, um Daten anzufordern. Dies bedeutet, dass alles in einer einzigen Anfrage verarbeitet werden kann und nicht in mehreren Anfragen, wie dies bei REST der Fall ist. Diese Anfragen durchlaufen das Schema, das der einzige Endpunkt des Dienstes ist. Wenn Anfragen verarbeitet werden, führt ein Resolver (erklärt im nächsten Abschnitt) seinen Code aus, um die Daten aus der entsprechenden Datenquelle zu verarbeiten. Wenn die Antwort zurückgegeben wird, wird der mit der Datenquelle verknüpfte Untergraph mit den Daten im Schema gefüllt.

AWS AppSync unterstützt viele verschiedene Datenquellentypen. In der folgenden Tabelle beschreiben wir jeden Typ, listen einige der Vorteile der einzelnen Typen auf und stellen nützliche Links für zusätzlichen Kontext bereit.

Datenquelle Description Vorteile Zusätzliche Informationen
Amazon DynamoDB „Amazon DynamoDB ist ein vollständig verwalteter NoSQL-Datenbankservice, der eine schnelle und vorhersehbare Leistung mit nahtloser Skalierbarkeit bietet. Mit DynamoDB können Sie den Verwaltungsaufwand für den Betrieb und die Skalierung verteilter Datenbanken verringern, sodass Sie sich nicht um Hardwarebereitstellung, Einrichtung und Konfiguration, Replikation, Software-Patching oder Cluster-Skalierung kümmern müssen. DynamoDB bietet auch Verschlüsselung im Ruhezustand, wodurch der betriebliche Aufwand und die Komplexität, die mit dem Schutz vertraulicher Daten verbunden sind, entfallen.“

  • Skalierbare Leistung: DynamoDB ist auf konsistente Leistung in jeder Größenordnung ausgelegt. Dies ist durch die Verwendung von Partitionen möglich. DynamoDB partitioniert Ihre Tabellen automatisch in mehrere Allokationen, die auf mehreren SSDs auf mehreren Knoten gespeichert werden. Dadurch wird in der Regel der Netzwerkdurchsatz erhöht und die Latenz reduziert.

  • Skalierbare Kapazität: DynamoDB überwacht Ihren Datenverkehr und ermöglicht es Ihnen, Ihren Durchsatz automatisch zu skalieren, falls das Netzwerk über einen längeren Zeitraum überlastet bleibt.

  • Verfügbarkeit und Fehlertoleranz: DynamoDB wird von mehreren physisch isolierten Regionen unterstützt, die jeweils mehrere physisch isolierte Availability Zones enthalten. DynamoDB wechselt im Falle einer Betriebsunterbrechung automatisch zu einer Backup-Zone. Zur Datensicherheit können Sie Ihre Daten auch manuell sichern und replizieren.

  • Protokollierung und Überwachung: DynamoDB bietet mehrere Analysetools für Ihre Tabellen. Sie können die Leistung Ihrer Tabelle überwachen und Alarme erstellen, um Sie über drastische Änderungen am Service zu informieren.

  • Sicherheit: DynamoDB folgt strengen Protokollen, um sicherzustellen, dass Ihre Daten den Sicherheitsanforderungen Ihres Unternehmens entsprechen.

  • Integration mit AWS AppSync: DynamoDB ist nahtlos in unseren Service integriert. Sie können neue DynamoDB-Tabellen erstellen und daraus automatisch ein Schema generieren, um Ihren Entwicklungsprozess zu optimieren. Wir bieten auch eine ganze Sammlung von Vorgängen, mit denen Sie auf einfache Weise Daten aus vorhandenen DynamoDB-Tabellen in Ihrem Konto in Ihrem Resolver anfordern können.

AWS Lambda "AWS Lambda ist ein Rechendienst, mit dem Sie Code ausführen können, ohne Server bereitstellen oder verwalten zu müssen.

Lambda führt Ihren Code auf einer hochverfügbaren Recheninfrastruktur aus und führt die gesamte Verwaltung der Rechenressourcen durch, einschließlich Server- und Betriebssystemwartung, Kapazitätsbereitstellung und automatischer Skalierung sowie Protokollierung. Mit Lambda müssen Sie Ihren Code lediglich in einer der von Lambda unterstützten Sprachlaufzeiten bereitstellen.“

  • Pay-as-you-use Modell: Lambda berechnet Ihnen nur Gebühren, wenn Sie ihre Ressourcen nutzen. Sie ermöglichen es Ihnen auch, die Menge der verwendeten Ressourcen entsprechend Ihren Anwendungsanforderungen zu skalieren.

  • Automatische Skalierung: Manchmal benötigt Ihre Anwendung möglicherweise zusätzliche Rechenleistung für einen bestimmten Prozess. Mit Lambda können Sie die Rechenressourcen automatisch an die Anforderungen Ihrer Anwendung anpassen.

  • Schnellere Bereitstellungszeiten: Mithilfe eines Bereitstellungspakets können Sie Ihren Entwicklungsprozess optimieren. Verwenden Sie ein Paket, um Ihren Funktionscode in den Lambda-Service hochzuladen. Sie können dann ihre Laufzeitumgebungen verwenden, um Ihre Funktionen zu testen und auszuführen.

  • Vielseitigkeit: Lambda kann in einer Vielzahl von Anwendungsfällen eingesetzt werden. Sie können Lambda nahtlos in Dienste und AWS Dienste von Drittanbietern integrieren. Einige Beispiele hierfür sind CI/CD Pipelines und Massenmailing-Dienste.

  • Integration mit AWS AppSync: Sie können Ihre Lambda-Funktionen ganz einfach in Ihrem Resolver aufrufen, um Anfragen zu bearbeiten. Unser Service bietet einen optimierten Anforderungsvorgang zur Ausführung von Lambda-Aufrufen. Wir erlauben sowohl Einzel- als auch Batch-Anrufe.

OpenSearch „Amazon OpenSearch Service ist ein verwalteter Service, der es einfach macht, OpenSearch Cluster in der AWS Cloud bereitzustellen, zu betreiben und zu skalieren. Amazon OpenSearch Service unterstützt das OpenSearch ältere Elasticsearch OSS (bis zu 7.10, die endgültige Open-Source-Version der Software). Wenn Sie einen Cluster erstellen, haben Sie die Option, die Suchmaschine zu verwenden.

OpenSearchist eine vollständig Open-Source-Such- und Analyse-Engine für Anwendungsfälle wie Protokollanalysen, Anwendungsüberwachung in Echtzeit und Clickstream-Analysen. Weitere Informationen finden Sie in der OpenSearch-Dokumentation.

Amazon OpenSearch Service stellt alle Ressourcen für Ihren OpenSearch Cluster bereit und startet ihn. Außerdem erkennt und ersetzt es automatisch ausgefallene OpenSearch Serviceknoten, wodurch der Aufwand reduziert wird, der mit selbstverwalteten Infrastrukturen verbunden ist. Sie können Ihren Cluster mit einem einzigen API-Aufruf oder mit wenigen Klicks in der Konsole skalieren.“

  • Skalierung: Über OpenSearch Serverless können Sie den Service ganz einfach an Ihre Serviceanforderungen anpassen.

  • Datenaufnahme: Sie können Ingestion verwenden OpenSearch , um Daten zu importieren, zu verarbeiten und zu analysieren. Es gibt viele Anwendungen für die Datenaufnahme, die Sie hier finden. https://docs.aws.amazon.com/opensearch-service/latest/developerguide/use-cases-overview.html

  • Sicherheit: OpenSearch kann Ihre AWS Sicherheitskonfiguration einschließlich IAM, VPCs CloudTrail, Authentifizierung usw. verwalten.

  • Verfügbarkeit: Unterstützt in seinem Service OpenSearch auch verschiedene Regionen und Availability Zones.

  • Integration mit AWS AppSync: In können Sie GraphQL-APIs verwenden AWS AppSync, um Daten aus vorhandenen OpenSearch Service-Domänen in Ihrem Konto zu speichern und abzurufen.

HTTP-Endpunkte Sie können HTTP-Endpunkte als Datenquellen verwenden. AWS AppSync kann Anfragen mit den relevanten Informationen wie Parametern und Nutzdaten an die Endpunkte senden. Die HTTP-Antwort wird dem Resolver zur Verfügung gestellt, der die endgültige Antwort zurückgibt, nachdem er seine Operation (en) abgeschlossen hat.
  • Nützlich für einfache Anwendungen, die nicht so gut in Dienste wie Lambda integriert sind.

Amazon EventBridge "EventBridge ist ein serverloser Dienst, der Ereignisse verwendet, um Anwendungskomponenten miteinander zu verbinden, sodass Sie leichter skalierbare ereignisgesteuerte Anwendungen erstellen können. Verwenden Sie ihn, um Ereignisse aus Quellen wie selbst entwickelten Anwendungen, AWS Diensten und Software von Drittanbietern an Verbraucheranwendungen in Ihrem Unternehmen weiterzuleiten. EventBridge bietet eine einfache und konsistente Methode zum Erfassen, Filtern, Transformieren und Bereitstellen von Ereignissen, sodass Sie schnell neue Anwendungen erstellen können.“

  • Event-driven Architektur: Sie können die Vorteile einer ereignisgesteuerten Architektur nutzen.

  • Planung: Sie können den EventBridge Scheduler verwenden, um Ihre Aufgaben und Regeln mithilfe von Cron-Ausdrücken zu automatisieren oder Zeitintervalle als Alternative zu Ereignismustern festzulegen.

  • Pipes: Mithilfe von EventBridge Pipes können Sie den Event-Bus durch eine Pipe ersetzen, die zusätzliche Filterung von Ereignismustern und eine Anreicherung durch Datentransformationen beinhaltet, bevor das Ereignis an das Ziel gesendet wird.

  • Integration mit AWS AppSync: AWS AppSync ermöglicht es Ihnen, Ereignisse mithilfe Ihres Resolvers an Event-Busse zu senden.

Relationale Datenbanken „Amazon Relational Database Service (Amazon RDS) ist ein Webservice, der die Einrichtung, den Betrieb und die Skalierung einer relationalen Datenbank in der AWS Cloud vereinfacht. Er bietet kosteneffiziente, anpassbare Kapazität für eine branchenübliche relationale Datenbank und verwaltet allgemeine Datenbankverwaltungsaufgaben.“

  • Verwaltung leicht gemacht: In regelmäßigen Abständen führt RDS Wartungsarbeiten an seinen Ressourcen durch. Die Wartung umfasst meistens Aktualisierungen der zugrunde liegenden Hardware, des zugrunde liegenden Betriebssystems (OS) oder der Datenbank-Engine-Version der DB-Instance. Unter normalen Umständen können Sie entscheiden, wann Updates durchgeführt werden sollen (Ausnahmen umfassen Sicherheitspatches).

  • Empfehlungen: Die Empfehlungsfunktion von RDS bietet automatische Vorschläge zur Behebung potenzieller Probleme in Ihrer Instanz.

  • Verfügbarkeit: RDS ist in verschiedenen physischen Regionen auf der ganzen Welt verfügbar. Sie können Ihre Datenbankanforderungen problemlos auf verschiedene Knoten verteilen, um Ihren Kunden einen besseren Service zu bieten.

  • Anpassung: RDS ist auf die Anforderungen großer Unternehmen zugeschnitten. RDS bietet verschiedene Optionen für Datenverarbeitung, schnelle Bereitstellung, Skalierbarkeit und Speicherung.

  • Sicherheit: RDS ist in mehrere Tools und Dienste integriert, um die Datenbanksicherheit auf Benutzer-, Datenbank- und Netzwerkebene aufrechtzuerhalten.

  • Integration mit AWS AppSync: Wenn Sie nach einer ausgereiften Backend-Lösung suchen, AWS AppSync können Sie mit dieser Lösung Daten senden, verarbeiten, speichern und zurückgeben, indem Sie Ihre Instance als Datenquelle verwenden.

Keine Datenquelle Wenn Sie nicht vorhaben, einen Datenquellendienst zu verwenden, können Sie ihn auf einstellennone. Eine none Datenquelle ist zwar immer noch explizit als Datenquelle kategorisiert, aber kein Speichermedium. Trotzdem ist es in bestimmten Fällen immer noch nützlich für Datenmanipulationen und Datenübertragungen.
  • Potenziell nützlich für Dinge wie Datenkonvertierung

  • Nützlich, wenn Sie etwas lokal lösen

Tipp

Weitere Informationen zur Interaktion mit Datenquellen finden Sie AWS AppSync unter Eine Datenquelle anhängen.