Datenquellen - AWS AppSync

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 mit dem Client verbunden ist. 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:

AWS AppSyncund GraphQL implementieren hervorragend Backend For Frontend (BFF) -Lösungen. Sie arbeiten zusammen, um die Komplexität skalierbar zu reduzieren, indem sie das Backend abstrahieren. Wenn Ihr Service unterschiedliche Datenquellen und/oder Microservices 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 Ihrer GraphQL-API eine beliebige Anzahl von Datenquellen zuordnen 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 Clients benötigen, um Daten anzufordern. Das bedeutet, dass alles in einer einzigen Anfrage verarbeitet werden kann und nicht in mehreren Anfragen, wie es 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 (im nächsten Abschnitt erklärt) 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 AppSyncunterstützt viele verschiedene Datenquellentypen. In der folgenden Tabelle werden wir jeden Typ beschreiben, einige der Vorteile der einzelnen Typen auflisten und nützliche Links für zusätzlichen Kontext bereitstellen.

Datenquelle Beschreibung Vorteile Zusätzliche Informationen
Amazon DynamoDB „Amazon DynamoDB ist ein vollständig verwalteter NoSQL-Datenbankservice, der 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 sensibler Daten verbunden sind, entfallen.“

  • Leistung im großen Maßstab: 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 Zuordnungen, die auf mehreren SSDs auf mehreren Knoten gespeichert werden. Dies erhöht im Allgemeinen den Netzwerkdurchsatz und reduziert die Latenz.

  • 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 Dienstunterbrechung automatisch in eine Backup-Zone. Zur Datensicherheit können Sie Ihre Daten auch manuell sichern und replizieren.

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

  • Sicherheit: DynamoDB befolgt strenge Protokolle, 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 Lambdaist 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 lediglich Ihren Code in einer der von Lambda unterstützten Sprachlaufzeiten bereitstellen.“

  • ay-as-you-use P-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 zusätzliche Rechenleistung für einen bestimmten Prozess. Lambda ermöglicht es Ihnen, Rechenressourcen automatisch an die Anforderungen Ihrer Anwendung anzupassen.

  • Schnellere Bereitstellungszeiten: Mit einem Bereitstellungspaket können Sie Ihren Entwicklungsprozess rationalisieren. 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 einfach in Ihrem Resolver aufrufen, um Anfragen zu bearbeiten. Unser Service bietet einen optimierten Anforderungsvorgang zur Durchführung von Lambda-Aufrufen. Wir erlauben sowohl einzelne als auch gebündelte 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 OpenSearch ältere Elasticsearch-Betriebssysteme (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 quelloffene Such- und Analyse-Engine für Anwendungsfälle wie Protokollanalysen, Anwendungsüberwachung in Echtzeit und Clickstream-Analyse. 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 werden ausgefallene OpenSearch Serviceknoten automatisch erkannt und ersetzt, wodurch der mit selbstverwalteten Infrastrukturen verbundene Aufwand reduziert wird. Sie können Ihren Cluster mit einem einzigen API-Aufruf oder mit ein paar Klicks in der Konsole skalieren.“

  • Skalierung: Mit 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.

  • 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 Dienstdomä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 zugänglich gemacht, der die endgültige Antwort zurückgibt, nachdem er seine Operation (en) abgeschlossen hat.
  • Nützlich für einfache Anwendungen, die nicht so stark in Dienste wie Lambda integriert sind.

Amazon EventBridge "EventBridge ist ein serverloser Service, 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.“

  • Ereignisgesteuerte 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 Filterereignismuster und eine Anreicherung durch Datentransformationen beinhaltet, bevor Sie das Ereignis an das Ziel senden.

  • 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 erleichtert. Er bietet kosteneffiziente, anpassbare Kapazität für eine relationale Datenbank nach Industriestandard und verwaltet allgemeine Datenbankverwaltungsaufgaben.“

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

  • Empfehlungen: Die Empfehlungsfunktion von RDS bietet automatisierte 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 Ihrer Instance als Datenquelle Daten senden, verarbeiten, speichern und zurückgeben.

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, um Daten zu manipulieren und weiterzuleiten.
  • Potenziell nützlich für Dinge wie Datenkonvertierung

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

Tipp

Weitere Informationen darüber, wie Datenquellen miteinander interagierenAWS AppSync, finden Sie unter Anhängen einer Datenquelle.