Amazon Kinesis ist ein vollständig verwalteter Service für die Verarbeitung riesiger Mengen von Streaming-Daten in Echtzeit. Sie können Hunderttausende von Datenproduzenten so konfigurieren das sie kontinuierlich Daten in Ihren Amazon Kinesis-Stream einleiten. Zum Beispiel Daten von Website-Clickstreams, Anwendungsprotokollen, Feeds aus sozialen Medien. Die Daten sind dann innerhalb von weniger als einer Sekunde für Ihre Amazon Kinesis-Anwendungen verfügbar, können aus dem Stream gelesen und dann verarbeitet werden.

Im folgenden Architekturdiagramm wird Amazon Kinesis als Gateway für eine Big Data-Lösung verwendet. Daten aus verschiedenen Quellen werden in einen Amazon Kinesis-Stream eingeleitet und anschließend werden die Daten von verschiedenen Amazon Kinesis-Anwendungen aus dem Stream konsumiert. In diesem Beispiel führt eine Anwendung (gelb) ein Echtzeit-Dashboard mit den Streaming-Daten aus. Eine weitere Anwendung (rot) führt eine einfache Aggregation aus und übermittelt verarbeitete Daten an Amazon S3. Die Daten in Amazon S3 werden weiterverarbeitet und für komplexe Analysen in Amazon Redshiftgespeichert. Die dritte Anwendung (grün) gibt Rohdaten in Amazon S3 aus, die dann zur kostengünstigeren Langzeitspeicherung in Amazon Glacier archiviert werden. Beachten Sie, dass diese drei Datenverarbeitungswege gleichzeitig und parallel ausgeführt werden. Amazon Kinesis lässt ohne Leistungseinbußen so viele Datenstream-Konsumenten zu, wie Ihre Lösung erfordert.


Ein Shard ist die Basiseinheit für den Durchsatz eines Amazon Kinesis-Streams. Ein Shard bietet eine Dateneingabekapazität von 1 MB/s und eine Datenausgabekapazität von 2 MB/s. Ein Shard kann bis zu 1 000 PUT-Datensätze pro Sekunde unterstützen. Sie legen die Anzahl der Shards fest, wenn Sie einen Stream einrichten. Beispielsweise können Sie einen Stream mit zwei Shards einrichten. Dieser Stream hat einen Durchsatz von 2 MB/s für die Dateneingabe und 4 MB/s für die Datenausgabe und lässt bis zu 2 000 PUT-Datensätze pro Sekunde zu. Abhängig von Ihrem Datendurchsatz können Ihrem Stream über Resharding Shards dynamisch hinzugefügt oder daraus entfernt werden.

Ein Datensatz ist die Dateneinheit, die in einem Amazon Kinesis-Stream gespeichert ist. Ein Datensatz besteht aus einer Sequenznummer, einem Partitionsschlüssel und einem Daten-Blob. Ein Daten-Blob sind die Daten von Interesse, die Ihr Datenproduzent einem Stream hinzufügt. Die maximale Größe eines Daten-Blobs (Nutzdaten nach der Base64-Decodierung) beträgt 1 MB.

Ein Partitionsschlüssel wird benutzt, um Datensätze zu trennen und an verschiedene Shards eines Streams zu routen. Ein Partitionsschlüssel wird von Ihrem Datenproduzenten angegeben, während er Daten in einen Amazon Kinesis-Stream einleitet. Angenommen, Sie haben einen Amazon Kinesis-Stream mit zwei Shards (Shard 1 und Shard 2). Nun können Sie Ihren Datenproduzenten so konfigurieren, dass er zwei Partitionsschlüssel verwendet (Schlüssel A und Schlüssel B), sodass alle Datensätze mit dem Schlüssel A zu Shard 1 und alle Datensätze mit Schlüssel B zu Shard 2 hinzugefügt werden.

Eine Sequenznummer ist eine eindeutige Kennung für jeden einzelnen Datensatz. Sequenznummern werden von Amazon Kinesis zugewiesen, wenn ein Datenproduzent den API-Befehl PutRecord oder PutRecords aufruft, um einem Amazon Kinesis-Stream Daten hinzuzufügen. Sequenznummern für denselben Partitionsschlüssel erhöhen sich im Allgemeinen mit der Zeit. Je länger der Zeitraum zwischen PutRecord- oder PutRecords-Anforderungen, desto größer die Sequenznummern.


Nachdem Sie sich bei Amazon Web Services angemeldet haben, können Sie Amazon Kinesis wie folgt verwenden:

  • Indem Sie einen Amazon Kinesis-Stream entweder über die Amazon Kinesis Management Console oder über die Amazon Kinesis-API CreateStream erstellen.
  • Indem Sie Ihre Datenproduzenten so konfigurieren, dass sie kontinuierlich Daten in Ihren Amazon Kinesis-Stream einleiten.
  • Indem Sie Ihre Amazon Kinesis-Anwendungen so aufbauen, dass sie Daten aus Ihrem Amazon Kinesis-Stream lesen und verarbeiten.

Datenproduzenten können Daten in den Amazon Kinesis-Stream über PutRecord und PutRecords APIs oder die Amazon Kinesis Producer Library (KPL) einleiten.Mit der PutRecord API ist ein einzelner Datensatz in einem API-Aufruf möglich; die PutRecords API lässt mehrere Datensätze in einem API-Aufruf zu.

Bei der Amazon Kinesis Producer Library (KPL) handelt es sich um eine bedienfreundliche und hochkonfigurierbare Bibliothek, mit der Sie Daten in den Amazon Kinesis-Stream einleiten können. Die Amazon Kinesis Producer Library (KPL) ist eine einfache, asynchrone und verlässliche Oberfläche, mit der Sie unter Einsatz minimaler Client-Ressourcen schnell einen höheren Produzentendurchsatz erzielen.


Eine Amazon Kinesis-Anwendung ist ein Datenkonsument, der Daten aus einem Amazon Kinesis-Stream liest und verarbeitet. Sie können Ihre Kinesis-Anwendungen entweder mithilfe der Amazon Kinesis API oder der Amazon Kinesis Client Library (KCL) aufbauen.

Die Amazon Kinesis Client Library (KCL) ist eine vorgefertigte Bibliothek, mit deren Hilfe Sie bequem Amazon Kinesis-Anwendungen zum Lesen und Verarbeiten von Daten aus einem Amazon Kinesis-Stream aufbauen können. Die Amazon Kinesis Client Library (KCL) übernimmt automatisch komplexe Aufgaben wie die Anpassung an Änderungen beim Stream-Volumen, den Lastausgleich für Streaming-Daten, die Koordination verteilter Services und fehlertolerante Datenverarbeitung. Dank der Amazon Kinesis Client Library (KCL) können Sie sich beim Entwickeln von Amazon Kinesis-Anwendungen auf die Geschäftslogik konzentrieren.

Die Amazon Kinesis Connector Library ist eine vorgefertigte Bibliothek, mit deren Hilfe Sie Amazon Kinesis bequem in andere AWS-Services und Tools anderer Hersteller integrieren können. Die Amazon Kinesis Client Library (KCL) ist erforderlich, um die Amazon Kinesis Connector Library zu verwenden. Die aktuelle Version dieser Bibliothek bietet Konnektoren für Amazon DynamoDB, Amazon Redshift, Amazon S3 und Elasticsearch. Die Bibliothek umfasst auch Muster-Konnektoren für jeden Typ sowie Apache Ant-Build-Dateien zum Ausführen der Muster.

Amazon Kinesis Storm Spout ist eine vorgefertigte Bibliothek, mit deren Hilfe Sie Amazon Kinesis bequem in Apache Storm integrieren können. Die aktuelle Version von Amazon Kinesis Storm Spout ruft Daten aus dem Amazon Kinesis-Stream ab und gibt diese als Tupel aus. Sie fügen Spout Ihrer Storm-Topologie hinzu, um Amazon Kinesis als zuverlässigen, skalierbaren, Stream-Erfassungs-, Speicher- und Wiedergabeservice zu nutzen.


Amazon Kinesis ist in Amazon CloudWatch integriert, sodass Sie CloudWatch-Metriken für Ihren Amazon Kinesis-Stream sammeln, anzeigen und analysieren können. Weitere Informationen über Amazon Kinesis-Metriken finden Sie unter Überwachen von Amazon Kinesis mit Amazon CloudWatch.

Amazon Kinesis ist mit AWS Identity and Access Management (IAM) integriert, einem Service, mit dessen Hilfe Sie den Zugriff auf Ihre AWS-Services und ‑Ressourcen für Ihre Benutzer sicher steuern können. Sie können zum Beispiel eine Richtlinie einrichten, der zufolge nur ein bestimmter Benutzer bzw. eine Gruppe Daten in den Amazon Kinesis-Stream einleiten kann. Weitere Informationen über Zugriffsverwaltung und ‑steuerung für Ihren Amazon Kinesis-Stream finden Sie unter Steuerung des Zugriffs auf Amazon Kinesis-Ressourcen mithilfe von IAM.

Amazon Kinesis ist mit AWS CloudTrail integriert, einem Service, der Aufrufe von AWS-APIs für Ihr Konto aufzeichnet und Protokolldateien an Sie übermittelt. Weitere Informationen über die Protokollierung von API-Aufrufen sowie eine Liste der unterstützten Amazon Kinesis-API finden Sie unter Protokollieren von Amazon Kinesis-API-Aufrufen mithilfe von Amazon CloudTrail.

In Amazon Kinesis können Sie Ihre Amazon Kinesis-Streams mit Tags versehen, wodurch das Ressourcen- und Kostenmanagement vereinfacht wird. Ein Tag ist ein benutzerdefiniertes Label in Form eines Schlüssel-Wert-Paares, mit dessen Hilfe Sie AWS-Ressourcen organisieren können. Sie können Ihre Amazon Kinesis-Streams zum Beispiel nach Kostenstellen mit Tags versehen, anhand derer Sie Ihre Amazon Kinesis-Kosten kategorisieren und verfolgen können. Weitere Informationen über Amazon Kinesis-Tags finden Sie unter Verwenden von Tags für Ihre Amazon Kinesis-Streams.