Erste Schritte mit Amazon Cognito
Dokumentationen und Ressourcen für den leichten Einstieg
Amazon-Cognito-Benutzerpools - Ein Verzeichnis für all Ihre Benutzer
Sie können schnell Ihr eigenes Verzeichnis erstellen, um Benutzer zu registrieren und anzumelden und um Benutzerprofile mit Amazon-Cognito-Benutzerpools zu speichern. Benutzerpools bieten eine Benutzeroberfläche, die Sie an Ihre Anwendung anpassen können. Benutzerpools ermöglichen zudem die einfache Integration mit sozialen Identitätsanbietern wie Facebook, Google und Amazon sowie mit Anbietern von Unternehmensidentitäten wie Microsoft Active Directory über SAML.
Amazon-Cognito-Identitätspools - Zugriffskontrolle für Ihre Ressourcen
Sie können den Zugriff auf Ihre Backend-AWS-Ressourcen und APIs über Amazon Cognito steuern, sodass die Benutzer Ihrer App nur den entsprechenden Zugriff erhalten. Sie können Benutzern verschiedene Rollen und Berechtigungen zuweisen und temporäre AWS-Anmeldeinformation für den Zugriff auf AWS-Services wie Amazon S3, Amazon DynamoDB, Amazon API Gateway und AWS Lambda vergeben.
Online-Videos
Wir haben die Antworten auf häufig gestellte Fragen
-
Allgemeines
F: Was ist Amazon Cognito?
Mit Amazon Cognito können Sie Ihren Mobil- und Web-Apps auf einfache Weise Regsitrierungs- und Authentifizierungsfunktionen hinzufügen. Amazon Cognito bietet Ihnen des Weiteren die Möglichkeit, Benutzer mittels externer Identitätsanbieter zu authentifizieren, die temporäre Sicherheitsdaten für den Zugriff auf die Backend-Ressourcen Ihrer App in AWS oder anderen Services hinter dem Amazon API Gateway bereitstellen. Amazon Cognito arbeitet mit externen Identitätsanbietern, die SAML oder OpenID Connect unterstützen, oder auch mit sozialen Identitätsanbietern (wie Facebook, Twitter, Amazon) zusammen und ermöglicht Ihnen die Integration Ihres eigenen Identitätsanbieters.Zudem können mit Amazon Cognito Daten mit verschiedenen Benutzergeräten synchronisiert werden, sodass die App-Erfahrung bei der Verwendung eines anderen Geräts oder Umstellung auf ein neues Gerät konsistent bleibt. Mit Ihrer App können Daten lokal auf Benutzergeräten gespeichert werden, sodass sie auch auf Geräten funktioniert, die offline sind. Die Daten werden dann unmittelbar synchronisiert, sobald das Gerät online geht.
Amazon Cognito ermöglicht es Ihnen, sich auf die Schaffung herausragender App-Erfahrungen zu konzentrieren. Das Erstellen, Sichern und Skalieren einer Lösung, mit der Sie Benutzer auf unterschiedlichen Plattformen und Geräten verwalten, authentifiziern und synchronsieren können, erübrigt sich.
F: An wen richtet sich Amazon Cognito?
Amazon Cognito wurde für Entwickler konzipiert, die Funktionen zur Verwaltung und Synchronisierung von Benutzern ihren Mobil- und Web-Apps hinzufügen möchten. Entwickler können Apps mithilfe von Cognito-Identität Registrierungs- und Anmeldeinformationen hinzufügen, um Benutzern einen sicheren Zugriff zu den App-Ressourcen zu gewähren. Amazon Cognito bietet Entwicklern zudem die Möglichkeit, Daten auf unterschiedlichen Geräten, Plattformen und Anwendungen zu synchronisieren.
F: Was sind die ersten Schritte zur Verwendung von Amazon Cognito?
Besuchen Sie als Erstes die AWS-Konsole. Falls Sie kein Konto für Amazon Web Services haben, können Sie ein Konto erstellen, wenn Sie sich bei der Konsole anmelden. Nachdem Sie einen Benutzerpool für die Benutzerverwaltung oder einen Identitätspool für zusammengeführte Identitäten oder Synchronisierungsverfahren erstellt haben, haben Sie die Möglichkeit, das AWS SDK für Mobilgeräte herunterzuladen und in Ihre App zu integrieren. Als Alternative können Sie die serverseitigen APIs von Cognito direkt aufrufen statt das SDK zu benutzen. Weitere Informationen finden Sie in unserem Entwicklerhandbuch.F: Stellt Amazon Cognito serverseitige APIs bereit?
Ja. Cognito stellt serverseitige APIs bereit. Sie können Ihre eigene kundenspezifische Schnittstelle zu Cognito erstellen, indem Sie diese APIs direkt aufrufen. Die serverseitigen APIs werden im Entwicklerhandbuch beschrieben.F: Welche Plattformen unterstützt Amazon Cognito?
Das optionale AWS SDK für Mobilgeräte, das für iOS, Android, Unity und Kindle Fire erhältlich ist, bietet Unterstützung für Cognito. Cognito ist auch im AWS SDK für JavaScript verfügbar. Cognito Your User Pools wird derzeit in den AWS Mobile SDKs für iOS und Android und im JavaScript AWS SDK für Cognito unterstützt. Besuchen Sie unsere Ressourcenseite, um die SDKs herunterzuladen.F: Muss ich das AWS SDK für Mobilgeräte nutzen?
Nein. Cognito stellt seine APIs für Kontrolle und Daten als Web-Services zur Verfügung. Sie können Ihre eigene Client-Bibliothek durch direktes Aufrufen der serverseitigen APIs implementieren. -
Hinzufügen von Registrierungs- und Anmeldefunktionen zu Ihren Mobil- und Web-Apps
F: Kann ich für die Registrierung und Anmeldung meinen eigenen Identitätsanbieter nutzen?
Ja, Sie können die Registrierungs- und Anmeldefunktion mit Cognito-Identität einfach und sicher Ihrer App hinzufügen. Ihre Benutzer können sich per E-Mail, Telefonnummer oder Benutzernamen registrieren und anmelden. Sie können auch erweiterte Sicherheitsfunktionen wie die E-Mail-Verifizierung, Telefonnummernverifizierung und Multifaktor-Authentifizierung verwenden. Cognito-Identität ermöglicht es Ihnen darüber hinaus, Workflows anzupassen. Fügen Sie beispielsweise der Benutzerregistrierung eine App-spezifische Logik zur Betrugserkennung und Benutzerüberprüfung durch AWS Lambda hinzu. Weitere Informationen finden Sie in unseren Dokumentationen.
F: Was ist ein Amazon Cognito-Benutzerpool?
Ein Benutzerpool ist Ihr Benutzerverzeichnis, das Sie für Ihre Web- und Mobilanwendungen konfigurieren können. In Benutzerpools lassen sich die Profilattribute Ihrer Benutzer sicher speichern. Zum Erstellen und Verwalten eines Benutzerpools können Sie die AWS-Konsole, AWS CLI oder AWS SDK verwenden.
F: Welche Benutzerprofilinformationen werden von Cognito-Identität unterstützt?
Entwickler können entweder standardmäßige, auf OpenID Connect basierende Benutzerprofilattribute (z. B. Benutzername, Telefonnummer, Adresse, Zeitzone usw.) verwenden oder App-spezifische Benutzerattribute hinzufügen.
F: Kann ich es den Benutzern meiner Anwendung ermöglichen, sich mit einer E-Mail-Adresse oder Telefonnummer zu registrieren oder anzumelden?
Ja, Sie können die Aliasfunktion verwenden, um es Ihren Benutzern zu ermöglichen, sich mit einer E-Mail-Adresse und einem Passwort oder mit einer Telefonnummer und einem Passwort zu registrieren oder anzumelden. Weitere Informationen finden Sie in unserer Dokumentation.
F: Kann ich Passwortrichtlinien einrichten?
Ja, Sie können beim Einrichten oder Konfigurieren des Benutzerpools Passwortrichtlinien wie zum Beispiel die Passwortstärke und die erforderlichen Zeichentypen festlegen.
F: Kann ich die E-Mail-Adressen und Telefonnummern der Benutzer meiner Anwendung überprüfen?
Ja, mit Amazon Cognito können Sie verlangen, dass die E-Mail-Adressen und Telefonnummern Ihrer Benutzer überprüft werden, bevor Sie ihnen Zugriff auf Ihre Anwendung gewähren. Den Benutzern wird während der Registrierung ein Verifizierungscode an ihre Telefonnummer oder E-Mail-Adresse gesendet. Durch Eingabe dieses Verifizierungscodes wird die Registrierung abgeschlossen und die Benutzer erhalten Zugriff.
F: Unterstützt Cognito-Identität die SMS-basierte Multi-Faktor-Authentifizierung (MFA)?
Ja, Sie können den Endbenutzern Ihrer Anwendung erlauben, sich mittels SMS-basierter MFA anzumelden. Bei aktivierter SMS-basierter MFA werden die Benutzer nach ihrem Passwort (erster Faktor – etwas, was sie wissen) und nach einem Sicherheitscode gefragt, den sie nur per SMS auf ihrem Mobiltelefon erhalten (zweiter Faktor – etwas, das sie besitzen).
F: Können die Registrierungs- und Anmelde-Workflows angepasst werden?
Ja, Sie können die Registrierung und Anmeldung anpassen, indem Sie den Workflows mithilfe von AWS Lambda eine App-spezifische Logik hinzufügen. Erstellen Sie beispielsweise AWS Lambda-Funktionen, um Betrug zu erkennen oder zusätzliche Prüfungen der Benutzerdaten durchzuführen. Sie können vom Entwickler bereitgestellte Lambda-Funktionen vor der Registrierung, nach der Bestätigung, vor der Authentifizierung, während der Authentifizierung zum Anpassen der Herausforderungen und nach der Authentifizierung auslösen. Darüber hinaus haben Sie mit Lambda-Funktionen die Möglichkeit, die im Rahmen der E-Mail- oder Telefonnummernverifizierung und der Multifaktor-Authentifizierung gesendeten Nachrichten anzupassen.
F: Kann ich die Geräte, die den Benutzern meiner Anwendung zugeordnet sind, in einem Cognito-Benutzerpool speichern?
Ja, Sie können die Geräte, die für den Zugriff auf Ihre Anwendung verwendet werden, speichern. Diese gespeicherten Geräte ordnen Sie dann den Benutzern Ihrer Anwendung in einem Cognito-Benutzerpool zu. Sie können außerdem gespeicherte Geräte verwenden, um Zweitfaktorherausforderungen für Ihre Benutzer zu unterdrücken, wenn Sie die Multifaktor-Authentifizierung eingerichtet haben.
F: Wie kann ich meine bestehenden Anwendungsbenutzer in Amazon Cognito-Benutzerpools migrieren?
Es gibt zwei Möglichkeiten, wie Sie Benutzer aus dem bestehenden Benutzerverzeichnis oder der Datenbank Ihrer Anwendung in Benutzerpools migrieren können.
Amazon Cognito hilft Ihnen dabei, Benutzer in Echtzeit zu migrieren, während sie sich über einen integrierten AWS Lambda-Auslöser in Ihrer Anwendung anmelden. Der integrierte Lambda-Auslöser ermöglicht es Ihnen, Benutzer zu migrieren, ohne dass diese ihr Passwort zurücksetzen müssen.
Alternativ können Sie Benutzer in großen Mengen migrieren, indem Sie eine CSV-Datei hochladen, die die Profildaten für all Ihre Anwendungsbenutzer enthält. Sie können die CSV-Datei über die Amazon Cognito-Konsole, die APIs oder das AWS-CLI hochladen. Bei der ersten Anmeldung müssen die Benutzer ihr Konto verifizieren und ein neues Passwort mit Hilfe eines Verifizierungscodes erstellen, der an ihre E-Mail-Adresse oder Telefonnummer gesendet wird.
Weitere Informationen finden Sie unter Importieren von Benutzern in Benutzerpools.
-
Zusammenführung von Identitäten und sicherer Zugriff auf AWS-Ressourcen
F: Kann ich mit Cognito Identity Identitäten zusammenführen und sicheren Zugriff auf AWS-Ressourcen gewähren?
Ja, Cognito-Identität ermöglicht es Ihnen, Benutzer mittels externer Identitätsanbieter zu authentifizieren, die temporäre Sicherheitsdaten für den Zugriff auf die Backend-Ressourcen Ihrer App in AWS oder anderen Services hinter dem Amazon API Gateway bereitstellen. Amazon Cognito arbeitet mit externen Identitätsanbietern, die SAML oder OpenID Connect unterstützen, oder auch mit sozialen Identitätsanbietern (wie Facebook, Twitter, Amazon) zusammen und ermöglicht Ihnen die Integration Ihres eigenen Identitätsanbieters.
F: Welche öffentlichen Identitätsanbieter kann ich mit Amazon Cognito-Identität benutzen?
Sie können Amazon, Facebook, Twitter, Digits, Google und beliebige mit OpenID Connect kompatible Anbieter nutzen.F: Was ist ein Identitäten-Pool?
Identitätspools sind die Einheiten, mit deren Hilfe Cognito-Identität die zusammengeführten Identitäten Ihrer Apps verwaltet. In einem Identitäten-Pool werden zusammengeführte Identitäten von sozialen Identitätsanbietern mit einer eindeutigen benutzerspezifischen Kennung verknüpft. Identitäten-Pools enthalten keinerlei Benutzerprofile. Ein Identitätspool kann mit einer oder mehreren Apps verknüpft werden. Wenn Sie zwei unterschiedliche Identitätspools für zwei Apps verwenden, hat der gleiche Endbenutzer in den beiden Identitäten-Pools unterschiedliche eindeutige IDs.F: Wie läuft die Anmeldung mit öffentlichen Identitätsanbietern ab?
Ihre Mobil-App führt die Authentifizierung über einen Identitätsanbieter (IdP) unter Verwendung von dessen SDK durch. Sobald der Endbenutzer durch den IdP authentifiziert wurde, wird das vom IdP zurückgegebene OAuth- oder OpenID Connect-Token oder die SAML-Erklärung von der App an Cognito-Identität weitergeleitet. Cognito-Identität gibt daraufhin eine neue Cognito-ID für den Benutzer und einen Satz temporärer AWS-Anmeldeinformationen mit eingeschränkten Berechtigungen zurück.F: Kann ich eigene Benutzer registrieren und authentifizieren?
Sie können Cognito-Identität in Ihr vorhandenes Authentifizierungssystem integrieren. Mit einem einfachen API-Aufruf können Sie eine Cognito-ID für Ihre Endbenutzer abrufen, die auf Ihren eigenen, eindeutigen Kennungen für Ihre Benutzer basiert. Nachdem Sie die von Cognito-Identität bereitgestellte Cognito-ID und das OpenID-Token abgerufen haben, können Sie mithilfe des Client-SDK von Cognito-Identität auf AWS-Ressourcen zugreifen und Benutzerdaten synchronisieren. Cognito-Identität ist eine vollständig verwaltete Identitätsanbieterlösung, die es Ihnen auf einfache Weise ermöglicht, Ihren Mobil- und Web-Apps Registrierungs- und Anmeldefunktionen hinzuzufügen.F: Wie erleichtert Cognito-Identität die Berechtigungssteuerung und den sicheren Zugriff auf AWS-Services?
Cognito-Identität weist Ihren Benutzern einen Satz temporärer Zugriffsdaten mit eingeschränkten Rechten zu, mit denen sie auf Ihre AWS-Ressourcen zugreifen können. Somit müssen Sie nicht Ihre AWS-Kontodaten zur Verfügung stellen. Die Berechtigungen jedes Benutzers werden durch AWS IAM-Rollen gesteuert, die Sie erstellen. Sie können Regeln definieren, um die IAM-Rolle für jeden Benutzer auszuwählen. Wenn Sie Gruppen in einem Cognito-Benutzerpool verwenden, können Sie IAM-Rollen basierend auf Gruppen zuweisen. Cognito-Identität ermöglicht es Ihnen zudem, eine eigenständige IAM-Rolle mit beschränkten Berechtigungen für Gastbenutzer festzulegen, die nicht authentifiziert wurden. Des Weiteren können Sie die von Cognito generierte eindeutige Kennung verwenden, um den Benutzerzugriff auf bestimmte Ressourcen zu steuern. Sie können beispielsweise eine Richtlinie für einen S3-Bucket erstellen, in dem bestimmte Benutzer ausschließlich Zugriff auf ihre eigenen Ordner haben.F: Speichert Amazon Cognito-Identität bei der Nutzung öffentlicher Identitätsanbieter die Anmeldeinformationen von Benutzern?
Nein, Ihre App kommuniziert für die Benutzerauthentifizierung direkt mit dem unterstützten öffentlichen Identitätsanbieter (Amazon, Facebook, Twitter, Digits, Google oder einem mit OpenID Connect kompatiblen Anbieter). Cognito-Identität erhält keine Anmeldeinformationen von Benutzern und speichert diese auch nicht. Cognito-Identität ruft mithilfe des Tokens des Identitätsanbieters eine eindeutige ID für den Benutzer ab. Auf diese ID wird anschließend eine Einweg-Hashfunktion angewendet, sodass der Benutzer in Zukunft wiedererkannt werden kann, ohne dass die tatsächliche Benutzer-ID gespeichert wird.
F: Erhält oder speichert Cognito-Identität von Identitätsanbietern vertrauliche Informationen über meine Benutzer?
Nein. Cognito-Identität erhält keine vertraulichen Informationen (wie E-Mail-Adressen, Liste der Freunde usw.) von den Identitätsanbietern.F: Benötige ich mit Cognito-Identität immer noch meine eigenen Backend-Authentifizierungssysteme?
Nein. Cognito-Identität unterstützt die Anmeldung durch Amazon, Facebook, Twitter, Digits und Google ebenso wie die Anmeldung nicht authentifizierter Benutzer. Mit Cognito-Identität können Sie Verbundauthentifizierung, Sync Store für Profildaten und die Verteilung von AWS Access-Token unterstützen, ohne Backend-Code erstellen zu müssen.F: Was passiert, wenn ich meine Benutzer nicht zwingen möchte, sich anzumelden?
Cognito-Identität unterstützt die Erstellung und das Verkaufsverfahren für Token sowohl für nicht authentifizierte Benutzer als auch für authentifizierte Benutzer. Damit wird vermieden, dass Ihre App einen zusätzlichen Anmeldebildschirm enthalten muss. Sie sind aber trotzdem in der Lage, temporäre Anmeldeinformationen mit eingeschränkten Berechtigungen für den Zugriff auf AWS-Ressourcen zu verwenden.F: Was sind nicht authentifizierte Benutzer?
Nicht authentifizierte Benutzer sind Benutzer, die sich nicht über einen Identitätsanbieter authentifizieren, sondern Ihre App als Gast nutzen. Sie können für diese Benutzer eine eigene IAM-Rolle festlegen, durch die sie eingeschränkten Zugriff auf Ihre Backend-Ressourcen erhalten.F: Unterstützt Cognito-Identität separate Identitäten für unterschiedliche Benutzer auf demselben Gerät?
Ja. Cognito-Identität unterstützt separate Identitäten auf einem einzelnen Gerät wie etwa dem in einem Haushalt genutzten iPad. Jede Identität wird separat behandelt und Sie haben volle Kontrolle darüber, wie Ihre App Benutzer an- und abmeldet und wie die Daten lokaler und externer Apps gespeichert werden.
F: Wie speichere ich mit Cognito-Identität verknüpfte Daten?
Sie können programmgesteuert einen Datensatz erstellen, der mit Cognito-Identität verknüpft ist, und Daten in Form von Schlüssel/Wert-Paaren speichern. Die Daten werden sowohl lokal auf dem Gerät als auch im Cognito Sync-Shop gespeichert. Cognito kann diese Daten zudem auf allen Geräten des Endbenutzers speichern.F: Erfahre ich durch die Anzahl der Identitäten in der Cognito-Identität-Konsole, wie viele Benutzer meine App verwenden?
Die Anzahl der Identitäten in der Cognito-Identität-Konsole gibt an, wie viele Identitäten mithilfe der Cognito-Identität-APIs erstellt wurden. Bei authentifizierten Identitäten (Benutzer, die sich über einen Login-Provider wie Facebook oder einen OpenID Connect-Anbieter anmelden) wird bei jedem Aufruf der GetId-API von Cognito-Identität eine Identität pro Benutzer erstellt. Bei nicht authentifizierten Identitäten wird jedoch jedes Mal, wenn der Client in einer App die GetId-API aufruft, eine neue Identität generiert. Wenn Ihre App also GetId bei nicht authentifizierten Identitäten mehrmals für einen einzigen Benutzer aufruft, sieht es aus, als hätte ein einzelner Benutzer mehrere Identitäten. Daher ist es wichtig, dass Sie die Antwort von GetId in den Cachespeicher aufnehmen, wenn Sie nicht authentifizierte Identitäten verwenden, und GetId nicht mehrere Male pro Benutzer aufrufen.Das SDK für Mobilgeräte stellt die Logik, um die Cognito-Identität in den Cachespeicher aufzunehmen, automatisch bereit. Daher müssen Sie sich darüber keine Gedanken machen. Wenn Sie eine Komplettlösung für Ihre App suchen, mit der Sie auch einzelne Benutzer verfolgen können, empfiehlt sich Amazon Mobile Analytics.
-
Speichern und Synchronisieren von Daten auf allen Geräten
F: Was ist der Amazon Cognito Sync-Store?
Der Amazon Cognito Sync-Store ist ein Speicher für Schlüssel/Wert-Paare, der mit einer Amazon Cognito-Identität verknüpft ist. Es gibt keine Begrenzung für die Anzahl der Identitäten, die Sie in den Identitäten-Pools und im Sync-Store erstellen können. Jede Amazon Cognito-Identität innerhalb des Sync-Stores verfügt über Ihren eigenen Speicher für Benutzerdaten.F: Werden Daten direkt im Amazon Cognito Sync-Store gespeichert?
Nein. Das optionale AWS SDK für Mobilgeräte speichert Ihre Daten in einer SQLite-Datenbank auf dem lokalen Gerät. Dadurch kann Ihre App jederzeit auf die Daten zugreifen. Die Daten werden per Push-Verfahren in den Amazon Cognito Sync-Store übertragen, indem die "synchronize()"-Methode aufgerufen wird. Wenn die Push-Synchronisierung aktiviert ist, werden alle anderen mit einer Identität verbundenen Geräte per Amazon SNS über die Datenänderung im Sync Store benachrichtigt.F: Wie werden die Daten im Amazon Cognito Sync-Store gespeichert?
Daten, die mit einer Amazon Cognito-Identität verknüpft sind, werden als Schlüssel/Wert-Paar gespeichert. Ein Schlüssel ist eine Bezeichnung wie „Lautstärke“ und ein Wert ist eine Zahl wie „11“. Schlüssel/Wert-Paare werden in Gruppen zusammengefasst und in Datensätzen kategorisiert. Datensätze sind eine logische Partition mit Schlüssel/Wert-Paaren und bilden die detaillierteste Einheit, die von Amazon Cognito zum Durchführen von Synchronisierungsoperationen verwendet wird.F: Was ist die maximale Größe eines Speichers mit Benutzerdaten innerhalb des Amazon Cognito Sync-Stores?
Jeder Speicher mit Benutzerdaten kann eine Größe von bis zu 20 MB haben. Jeder Datensatz innerhalb des Speichers mit Benutzerdaten kann eine Größe von bis zu 1 MB haben. Ein Datensatz kann bis zu 1 024 Schlüssel enthalten.F: Welche Art von Daten kann ich in einem Datensatz speichern?
Sowohl Schlüssel als auch Werte in einem Datensatz sind alphanumerische Zeichenfolgen. Es gibt keine Obergrenze für die Länge der Zeichenfolgen, aber die Summe der Werte in einem Datensatz darf 1 MB nicht übersteigen. Binäre Daten können als eine mit Base64 codierte Zeichenfolge oder als Wert gespeichert werden, sofern dadurch die Grenze von 1 MB nicht überschritten wird.F: Warum ist die Größe von Datensätzen auf 1 MB begrenzt?
Die Begrenzung der Datensatzgröße auf 1 MB erhöht die Chancen auf erfolgreiche Durchführung einer Synchronisierungsaufgabe, auch wenn die Bandbreite begrenzt ist, ohne dass zahlreiche Wiederholungsversuche erforderlich sind, die die Batterieladung und Datenpläne belasten.F: Werden Identitäten und Speicher mit Benutzerdaten zwischen den Entwicklern geteilt?
Nein, eine Benutzeridentität und ein Speicher mit Benutzerdaten sind jeweils mit einem bestimmten AWS-Konto verbunden. Falls es mehrere Apps von unterschiedlichen Herausgebern auf einem Gerät gibt, das Amazon Cognito verwendet, benutzt jede App den Datenspeicher, der vom jeweiligen Herausgeber erstellt wurde.F: Wie kann ich die im Cognito Sync-Store gespeicherten Daten analysieren und abfragen?
Mit Cognito-Streams können Sie Sync-Store-Daten auf einen Kinesis-Stream in Ihrem AWS-Konto übertragen. Sie können diesen Stream dann nutzen, um die Daten so zu speichern, dass sie leicht zu analysieren sind, etwa in einer Amazon Redshift-Datenbank, einer eigenen RDS-Instance oder auch als S3-Datei. Wir haben ein Beispiel einer Kinesis-Kundenanwendung veröffentlicht, aus dem Sie ersehen können, wie Daten-Updates in Amazon Redshift gespeichert werden.F: Weshalb sollte ich statt eines Datenbankexports einen Kinesis-Stream verwenden?
Wenn Sie die Daten auf Kinesis streamen, können Sie den gesamten Verlauf der Änderungen an Ihren Datensätzen in Echtzeit erhalten. Sie erhalten also alle Änderungen, die ein Endbenutzer an einem Datensatz vornimmt, und können diese Daten in einem beliebigen Tool speichern.F: Was ist, wenn ich bereits Daten in Cognito gespeichert habe?
Wenn Sie die Kinesis-Stream-Funktion aktivieren, können Sie eine Massen-Veröffentlichung starten. Bei diesem Prozess werden alle aktuell in Ihrem Cognito Sync-Store gespeicherten Daten asynchron an den ausgewählten Kinesis-Stream gesendet.F: Was kostet diese Funktion?
Cognito überträgt die Daten in einen Kinesis-Stream, den Sie besitzen. Der Cognito-Preis pro Synchronisierung ändert sich bei Aktivierung dieser Funktion nicht. Es gelten die Kinesis-Standardtarife für Ihre Partitionen.F: Kann ich Daten validieren, bevor sie gespeichert werden?
Amazon Cognito Events ermöglicht Entwicklern, als Reaktion auf wichtige Ereignisse in Cognito eine AWS Lambda-Funktion auszuführen. Das Sync Trigger-Ereignis ist ein Ereignis, das bei der Synchronisierung eines Datensatzes auftritt. Entwickler können eine AWS Lambda-Funktion erstellen, die das Synchronisierungsereignis abfängt. Die Funktion kann die Änderungen des zugrunde liegenden Datensatzes prüfen und die Daten manipulieren, bevor sie in der Cloud gespeichert und auf die anderen Geräte des Benutzers zurück synchronisiert werden. Alternativ dazu könnte die AWS Lambda-Funktion den Synchronisierungsvorgang fehlschlagen lassen, sodass die Daten nicht auf den anderen Geräten des Benutzers synchronisiert werden.F: Wie werden Daten mit Amazon Cognito synchronisiert?
Sie können die Synchronisierung von Datensätzen zwischen Client-Geräten und dem Amazon Cognito Sync-Store programmgesteuert auslösen, indem Sie die „synchronize()“-Methode im AWS SDK für Mobilgeräte benutzen. Die „synchronize()“-Methode liest die neuesten verfügbaren Daten im Amazon Cognito Sync-Store und vergleicht sie mit den lokalen Daten im Cache. Nach dem Vergleich schreibt die „synchronize()“-Methode die neuesten Aktualisierungen wie erforderlich in den lokalen Datenspeicher und in den Amazon Cognito Sync-Store. Amazon Cognito behält standardmäßig die zuletzt geschriebene Version der Daten. Sie können dieses Verhalten überschreiben und Datenkonflikte programmgesteuert lösen. Darüber hinaus ermöglicht die Push-Synchronisierung Ihnen das Verwenden von Amazon Cognito zum Senden einer automatischen Push-Benachrichtigung an alle Geräte, die einer Identität zugeordnet sind, um diese zu benachrichtigen, dass neue Daten verfügbar sind.F: Was ist eine automatische Push-Benachrichtigung?
Amazon Cognito nutzt den Amazon Simple Notification Service (SNS) zum Senden automatischer Push-Benachrichtigungen an Geräte. Eine automatische Push-Benachrichtigung ist eine Nachricht, die von Ihrer Anwendung auf dem Gerät eines Benutzers empfangen wird, ohne dass der Benutzer diese sieht.F: Wie verwende ich die Push-Synchronisierung?
Zum Aktivieren der Push-Synchronisierung müssen Sie in der AWS-Managementkonsole auf der Seite „Amazon SNS“ eine Plattformanwendung deklarieren. Danach können Sie in der AWS-Managementkonsole von der Identitätspool-Seite auf der Seite zu Amazon Cognito die SNS-Plattformanwendung mit Ihrem Cognito-Identitätspool verknüpfen. Amazon Cognito nutzt automatisch die SNS-Plattformanwendung zum Benachrichtigen von Geräten bei Änderungen.F: Wie werden Konflikte bei der Synchronisierung gelöst?
Amazon Cognito behält standardmäßig die zuletzt geschriebene Version der Daten. Sie können dieses Verhalten überschreiben, indem Sie auf einen Rückruf des AWS SDK für Mobilgeräte antworten, in dem beide Versionen der Daten enthalten sind. Ihre Anwendung kann dann entscheiden, welche Version der Daten (die lokale Version oder die Version im Amazon-Cognito-Sync-Store) behalten und im Amazon-Cognito-Sync-Store gespeichert werden soll. -
Preise
F: Wie viel kosten Amazon-Cognito-Benutzerpools?
Die Preise für Amazon-Cognito-Benutzerpools finden Sie auf der .
F: Wie viel kostet Amazon Cognito Sync?
Die Preise für Amazon Cognito Sync finden Sie auf der Amazon-Cognito-Preisseite.
F: Was ist ein Synchronisierungsvorgang?
Wenn Sie die „synchronize()“-Methode mit dem AWS SDK für Mobilgeräte aufrufen, zählt dies als eine Synchronisierungsoperation. Falls Sie die Server-APIs direkt aufrufen, wird eine Synchronisierungsoperation initiiert, wenn ein neues Token für eine Synchronisierungssitzung ausgestellt wird. Die Operation wird durch einen erfolgreichen Schreibvorgang oder einen Timeout des Sitzungstokens abgeschlossen. Sowohl mit der Verwendung der SDK-Methode „synchronize()“ als auch mit einem direkten Aufruf der Server-APIs werden die Synchronisierungsoperationen mit den gleichen Kosten in Rechnung gestellt.
F: F: Was sind monatlich aktive Benutzer (Monthly Active Users, MAUs)?
Als monatlich aktive Benutzer (Monthly Active Users, MAUs) gelten Benutzer, die innerhalb des Abrechnungsmonats einen Vorgang ausführen (z. B. eine Registrierung, Anmeldung, Tokenaktualisierung oder Passwortänderung). Während des Abrechnungsmonats fallen somit keine weiteren Kosten für nachfolgende Vorgänge oder inaktive Benutzer an. In der Regel liegen die Gesamtanzahl der Benutzer sowie die Anzahl der Vorgänge deutlich über der Gesamtanzahl der MAUs.F: F: Was kostet die Verwendung von SMS-Nachrichten mit Cognito?
Die Verwendung von SMS-Nachrichten zum Überprüfen von Telefonnummern, zum Senden von Codes für vergessene oder zurückgesetzte Passwörter oder für die Multifaktor-Authentifizierung wird separat in Rechnung gestellt. Auf der Seite mit den weltweiten SMS-Preisen finden Sie weitere Informationen.F: Ist Amazon Cognito Teil des kostenlosen Kontingents für AWS?
Ja. Cognito bietet im Rahmen des kostenlosen AWS-Kontingents 10 GB Sync-Store und 1 000 000 Synchronisierungsoperationen pro Monat für bis zu 12 Monate an. Ihr Benutzerpool für Cognito-Identität ist für die ersten 50 000 MAUs kostenlos. Über diese Zahl hinaus bieten wir volumenbasierte Kontingente an. Die Verbundidentitäten-Funktion zur Authentifizierung von Benutzern und das Erstellen eindeutiger Kennungen ist bei Cognito-Identität immer kostenlos.F: Zählt jedes Lesen oder Schreiben der App als eine Synchronisierungsoperation?
Nein. Sie entscheiden, wann Sie die „synchronize()“-Methode aufrufen. Jedes Schreiben auf oder Lesen vom Gerät bezieht sich auf den lokalen SQLite-Speicher. Dadurch haben Sie die volle Kontrolle über Ihre Kosten.F: Was kostet die Push-Synchronisierung?
Cognito nutzt Amazon SNS zum Senden automatischer Push-Benachrichtigungen. Es fallen keine zusätzlichen Kosten für die Verwendung von Cognito für die Push-Synchronisierung an, doch für an Geräte gesendete Benachrichtigungen gelten die üblichen Amazon SNS-Tarife.F: Was kostet das Verwenden von Lambda mit Amazon Cognito-Ereignissen?
Für die Verwendung von Cognito-Ereignissen entstehen keine zusätzlichen Kosten, aber während der Ausführung von Lambda-Funktionen gelten die normalen Gebühren für AWS Lambda und andere AWS-Services. Einzelheiten finden Sie auf der Seite mit der Preisübersicht zu AWS Lambda.