

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.

# Entwickeln mit Streams in QLDB
<a name="streams.sdk"></a>

**Wichtig**  
Hinweis zum Ende des Supports: Bestandskunden können Amazon QLDB bis zum Ende des Supports am 31.07.2025 nutzen. Weitere Informationen finden Sie unter [Migrieren eines Amazon QLDB-Ledgers zu Amazon](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/) Aurora PostgreSQL.

In diesem Abschnitt werden die API-Operationen zusammengefasst, die Sie mit einem AWS SDK oder dem verwenden können, AWS CLI um Journal-Streams in Amazon QLDB zu erstellen und zu verwalten. Außerdem werden die Beispielanwendungen beschrieben, die diese Operationen demonstrieren und die Kinesis Client Library (KCL) verwenden oder einen AWS Lambda Stream-Consumer implementieren.

Sie können die KCL verwenden, um Verbraucheranwendungen für Amazon Kinesis Data Streams zu erstellen. Die KCL vereinfacht die Codierung durch Bereitstellen nützlicher Abstraktionen oberhalb der Low-Level-Kinesis-Data-Streams-API. Weitere Informationen zur KCL finden Sie unter [Using the Kinesis Client Library](https://docs.aws.amazon.com/streams/latest/dev/shared-throughput-kcl-consumers.html) im *Amazon Kinesis Data Streams* Developer Guide.

**Contents**
+ [QLDB-Journalstream APIs](#streams.sdk.api)
+ [Beispielanwendungen](#streams.sdk.samples)
  + [Grundlegende Operationen (Java)](#streams.sdk.samples.basic)
  + [Integration mit OpenSearch Service (Python)](#streams.sdk.samples.elastic)
  + [Integration mit Amazon SNS und Amazon SQS (Python)](#streams.sdk.samples.sns)

## QLDB-Journalstream APIs
<a name="streams.sdk.api"></a>

Die QLDB-API bietet die folgenden Journal-Stream-Operationen zur Verwendung durch Anwendungsprogramme:
+ `StreamJournalToKinesis`— Erzeugt einen Journal-Stream für ein bestimmtes QLDB-Ledger. Der Stream erfasst jede Dokumentrevision, die in das Journal des Ledgers übernommen wird, und übermittelt die Daten an eine angegebene Kinesis Data Streams Streams-Ressource.
  + **Die *Datensatzaggregation* in Kinesis Data Streams ist standardmäßig aktiviert.** Mit dieser Option kann QLDB mehrere Datensätze in einem einzigen Kinesis Data Streams Streams-Datensatz veröffentlichen, wodurch die Anzahl der pro API-Aufruf gesendeten Datensätze erhöht wird.

    Die Datensatzaggregation hat wichtige Auswirkungen auf die Verarbeitung von Datensätzen und **erfordert eine Deaggregation** in Ihrem Stream-Consumer. Weitere Informationen finden Sie unter [KPL key concepts](https://docs.aws.amazon.com/streams/latest/dev/kinesis-kpl-concepts.html#kinesis-kpl-concepts-aggretation) and [Consumer De-aggregation](https://docs.aws.amazon.com/streams/latest/dev/kinesis-kpl-consumer-deaggregation.html) im *Amazon Kinesis Data* Streams Developer Guide.
+ `DescribeJournalKinesisStream`— Gibt detaillierte Informationen über einen bestimmten QLDB-Journal-Stream zurück. Die Ausgabe enthält den ARN, den Stream-Namen, den aktuellen Status, die Erstellungszeit und die Parameter Ihrer ursprünglichen Stream-Erstellungsanforderung.
+ `ListJournalKinesisStreamsForLedger`— Gibt eine Liste aller QLDB-Journal-Stream-Deskriptoren für ein bestimmtes Ledger zurück. Die Ausgabe jedes Stream-Deskriptors enthält die gleichen Details, die von `DescribeJournalKinesisStream` zurückgegeben werden.
+ `CancelJournalKinesisStream`— Beendet einen bestimmten QLDB-Journal-Stream. Bevor ein Stream abgebrochen werden kann, muss sein aktueller Status „`ACTIVE`“ lauten.

  Sie können einen Stream nicht neu starten, nachdem Sie ihn abgebrochen haben. Um die Übertragung Ihrer Daten an Kinesis Data Streams wieder aufzunehmen, können Sie einen neuen QLDB-Stream erstellen.

Eine vollständige Beschreibung dieser API-Vorgänge finden Sie unter [Amazon QLDB API-Referenz](api-reference.md).

[Informationen zum Erstellen und Verwalten von Journal-Streams mithilfe von finden Sie in der AWS CLI Befehlsreferenz.AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/qldb/index.html)

## Beispielanwendungen
<a name="streams.sdk.samples"></a>

QLDB bietet Beispielanwendungen, die verschiedene Operationen mithilfe von Journal-Streams demonstrieren. Diese Anwendungen sind Open Source auf der [AWS GitHub Samples-Website](https://github.com/aws-samples/?q=qldb).

**Topics**
+ [Grundlegende Operationen (Java)](#streams.sdk.samples.basic)
+ [Integration mit OpenSearch Service (Python)](#streams.sdk.samples.elastic)
+ [Integration mit Amazon SNS und Amazon SQS (Python)](#streams.sdk.samples.sns)

### Grundlegende Operationen (Java)
<a name="streams.sdk.samples.basic"></a>

Ein Java-Codebeispiel, das grundlegende Operationen für QLDB-Journal-Streams demonstriert, finden Sie im GitHub Repository [amazon-qldb-dmv-sampleaws-samples/](https://github.com/aws-samples/amazon-qldb-dmv-sample-java/tree/master/src/main/java/software/amazon/qldb/tutorial/streams) -java. Anweisungen zum Herunterladen und Installieren dieser Beispielanwendung finden Sie unter [Installation der Amazon QLDB-Java-Beispielanwendung](sample-app.java.md).

**Anmerkung**  
Fahren Sie nach der Installation der Anwendung nicht mit *Schritt 1* des Java-Tutorials fort, um ein Ledger zu erstellen. Diese Beispielanwendung für Streaming erstellt das `vehicle-registration`-Ledger für Sie.

Diese Beispielanwendung packt den kompletten Quellcode von [Java-Lernprogramm](getting-started.java.tutorial.md) und seinen Abhängigkeiten, einschließlich der folgenden Module:
+ [AWS SDK für Java](https://aws.amazon.com/sdk-for-java)— Um sowohl die QLDB- als auch die Kinesis Data Streams Streams-Ressourcen zu erstellen und zu löschen, einschließlich Ledger, QLDB-Journal-Streams und Kinesis-Datenstreams.
+ [Amazon QLDB-Treiber für Java](getting-started.java.md)— Um Datentransaktionen in einem Ledger mithilfe von PartiQL-Anweisungen auszuführen, einschließlich der Erstellung von Tabellen und des Einfügens von Dokumenten.
+ [Kinesis Client Library](https://docs.aws.amazon.com/streams/latest/dev/developing-consumers-with-kcl.html) — Um Daten aus einem Kinesis-Datenstrom zu nutzen und zu verarbeiten.

**Ausführen des Codes**

Die [StreamJournal](https://github.com/aws-samples/amazon-qldb-dmv-sample-java/blob/master/src/main/java/software/amazon/qldb/tutorial/streams/StreamJournal.java)-Klasse enthält Tutorial-Code, der die folgenden Vorgänge veranschaulicht:

1. Erstellen Sie ein Ledger mit dem Namen „`vehicle-registration`“, erstellen Sie Tabellen, und laden Sie sie mit Beispieldaten.
**Anmerkung**  
Bevor Sie diesen Code ausführen, stellen Sie sicher, dass noch kein aktives Ledger mit dem Namen „`vehicle-registration`“ vorhanden ist.

1. Erstellen Sie einen Kinesis-Datenstream, eine IAM-Rolle, die es QLDB ermöglicht, Schreibberechtigungen für den Kinesis-Datenstream zu übernehmen, und einen QLDB-Journal-Stream.

1. Verwenden Sie die KCL, um einen Stream-Reader zu starten, der den Kinesis-Datenstrom verarbeitet und jeden QLDB-Datensatz protokolliert.

1. Verwenden Sie die Stream-Daten, um die Hashkette des `vehicle-registration`-Beispiel-Ledgers zu überprüfen.

1. Bereinigen Sie alle Ressourcen, indem Sie den Stream-Reader beenden, den QLDB-Journal-Stream abbrechen, das Ledger löschen und den Kinesis-Datenstream löschen.

Um den `StreamJournal`-Tutorial-Code auszuführen, geben Sie den folgenden Gradle-Befehl aus Ihrem Projekt-Stammverzeichnis ein.

```
./gradlew run -Dtutorial=streams.StreamJournal
```

### Integration mit OpenSearch Service (Python)
<a name="streams.sdk.samples.elastic"></a>

Eine Python-Beispielanwendung, die demonstriert, wie ein QLDB-Stream in Amazon OpenSearch Service integriert wird, finden Sie im GitHub Repository [amazon-qldb-streaming-amazonaws-samples/](https://github.com/aws-samples/amazon-qldb-streaming-amazon-opensearch-service-sample-python) -. opensearch-service-sample-python Diese Anwendung verwendet eine AWS Lambda Funktion, um einen Kinesis Data Streams Streams-Consumer zu implementieren.

Geben Sie den folgenden `git`-Befehl ein, um das Repository zu klonen.

```
git clone https://github.com/aws-samples/amazon-qldb-streaming-amazon-opensearch-service-sample-python.git
```

Anweisungen zum Ausführen der Beispielanwendung finden Sie in der [README-Datei](https://github.com/aws-samples/amazon-qldb-streaming-amazon-opensearch-service-sample-python/blob/master/README.md) unter GitHub .

### Integration mit Amazon SNS und Amazon SQS (Python)
<a name="streams.sdk.samples.sns"></a>

[Eine Python-Beispielanwendung, die demonstriert, wie ein QLDB-Stream mit Amazon Simple Notification Service (Amazon SNS) integriert wird, finden Sie im GitHub Repository aws-samples/ -. amazon-qldb-streams-dmv sample-lambda-python](https://github.com/aws-samples/amazon-qldb-streams-dmv-sample-lambda-python)

Diese Anwendung verwendet eine AWS Lambda Funktion, um einen Kinesis Data Streams Streams-Consumer zu implementieren. Es sendet Nachrichten an ein Amazon SNS SNS-Thema, das von einer Amazon Simple Queue Service (Amazon SQS) -Warteschlange abonniert wurde.

Geben Sie den folgenden `git`-Befehl ein, um das Repository zu klonen.

```
git clone https://github.com/aws-samples/amazon-qldb-streams-dmv-sample-lambda-python.git
```

Anweisungen zum Ausführen der Beispielanwendung finden Sie in der [README-Datei](https://github.com/aws-samples/amazon-qldb-streams-dmv-sample-lambda-python/blob/master/README.md) unter. GitHub 