Erstellen und Verwalten von Streams in QLDB - Amazon Quantum Ledger-Datenbank (AmazonQLDB)

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.

Erstellen und Verwalten von Streams in QLDB

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 Aurora SQL Postgre.

Amazon QLDB bietet API Funktionen zur Erstellung und Verwaltung eines Streams von Journaldaten aus Ihrem Ledger zu Amazon Kinesis Data Streams. Der QLDB Stream erfasst jede Dokumentrevision, die in Ihr Journal übernommen wurde, und sendet sie an einen Kinesis-Datenstream.

Sie können das AWS Management Console, ein oder das AWS Command Line Interface (AWS CLI) verwenden AWS SDK, um einen Journal-Stream zu erstellen. Darüber hinaus können Sie auch eine AWS CloudFormationVorlage verwenden, um Streams zu erstellen. Weitere Informationen finden Sie in der Ressource AWSQLDB::: :Stream im AWS CloudFormation Benutzerhandbuch.

Stream-Parameter

Um einen QLDB Journal-Stream zu erstellen, müssen Sie die folgenden Konfigurationsparameter angeben:

Ledger-Name

Das QLDB Ledger, dessen Journaldaten Sie in Kinesis Data Streams streamen möchten.

Stream-Name

Der Name, den Sie dem QLDB Journal-Stream zuweisen möchten. Benutzerdefinierte Namen können helfen, den Zweck eines Streams zu identifizieren und anzugeben.

Der Stream-Name muss unter anderen aktiven Streams für ein bestimmtes Ledger eindeutig sein. Stream-Namen haben die gleichen in Kontingente und Limits bei Amazon QLDB definierten Benennungsbeschränkungen wie Ledger-Namen.

QLDBWeist jedem Stream, den Sie erstellen, zusätzlich zum Stream-Namen eine QLDB Stream-ID zu. Die Stream-ID ist unabhängig von ihrem Status unter allen Streams für ein bestimmtes Ledger eindeutig.

Startdatum und -zeit

Datums- und Uhrzeitangaben zum Zeitpunkt, ab dem das Streamen von Journaldaten gestartet werden soll. Dieser Wert kann ein beliebiges Datum und eine beliebige Uhrzeit in der Vergangenheit sein, jedoch nicht in der future.

Enddatum und -zeit

(Optional) Das Datum und die Uhrzeit, die angeben, wann der Stream endet.

Wenn Sie einen unbefristeten Stream ohne Endzeit erstellen, müssen Sie ihn manuell abbrechen, um den Stream zu beenden. Sie können auch einen aktiven, endlichen Stream abbrechen, der das angegebene Enddatum und die angegebene Uhrzeit noch nicht erreicht hat.

Kinesis-Zieldatenstrom

Die Kinesis Data Streams Streams-Zielressource, in die Ihr Stream die Datensätze schreibt. Informationen zum Erstellen eines Kinesis-Datenstroms finden Sie unter Erstellen und Aktualisieren von Datenströmen im Amazon Kinesis Data Streams Developer Guide.

Wichtig
  • Regionsübergreifende und kontoübergreifende Streams werden nicht unterstützt. Der angegebene Kinesis-Datenstrom muss sich im selben AWS-Region AND-Konto wie Ihr Ledger befinden.

  • Die Datensatzaggregation in Kinesis Data Streams ist standardmäßig aktiviert. Mit dieser Option können mehrere Datensätze in einem einzigen Kinesis Data Streams Streams-Datensatz QLDB veröffentlicht werden, wodurch die Anzahl der pro API Anruf 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 KPLSchlüsselkonzepte und Deaggregation für Verbraucher im Amazon Kinesis Data Streams Developer Guide.

IAM-Rolle

Die IAM Rolle, die es QLDB ermöglicht, Schreibberechtigungen für Ihren Kinesis-Datenstrom zu übernehmen. Sie können die QLDB Konsole verwenden, um diese Rolle automatisch zu erstellen, oder Sie können sie manuell in IAM erstellen. Informationen zur manuellen Erstellung finden Sie unterStream-Berechtigungen.

Um bei der Anforderung eines Journal-Streams eine Rolle zu QLDB übergeben, müssen Sie über die erforderlichen Berechtigungen verfügen, um die iam:PassRole Aktion für die IAM Rollenressource auszuführen.

Streamen ARN

Jeder QLDB Journal-Stream ist eine Unterressource eines Ledgers und wird durch einen Amazon-Ressourcennamen () eindeutig identifiziert. ARN Im Folgenden finden Sie ein Beispiel für einen QLDB Stream mit ARN der Stream-ID IiPT4brpZCqCq3f4MTHbYy für ein Ledger mit dem Namen. exampleLedger

arn:aws:qldb:us-east-1:123456789012:stream/exampleLedger/IiPT4brpZCqCq3f4MTHbYy

Im folgenden Abschnitt wird beschrieben, wie Sie einen QLDB Stream mithilfe von erstellen und abbrechen. AWS Management Console

AWS Management Console

Gehen Sie wie folgt vor, um einen QLDB Stream mithilfe der QLDB Konsole zu erstellen oder abzubrechen.

So erstellen Sie einen Stream (Konsole)
  1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die QLDB Amazon-Konsole unter https://console.aws.amazon.com/qldb.

  2. Klicken Sie im Navigationsbereich auf Streams.

  3. Wählen Sie QLDB-Stream erstellen aus.

  4. Geben Sie auf der Seite QLDBStream erstellen die folgenden Einstellungen ein:

    • Streamname — Der Name, den Sie dem QLDB Stream zuweisen möchten.

    • Ledger — Das Ledger, dessen Journaldaten Sie streamen möchten.

    • Startdatum und -zeit — Der inklusive Zeitstempel in koordinierter Weltzeit (UTC), ab dem das Streamen von Journaldaten gestartet werden soll. Dieser Zeitstempel zeigt standardmäßig das aktuelle Datum und die aktuelle Uhrzeit. Es kann nicht in der future liegen und muss vor dem Enddatum und der Endzeit liegen.

    • Enddatum und -zeit — (Optional) Der exklusive Zeitstempel (UTC), der angibt, wann der Stream endet. Wenn Sie diesen Parameter leer lassen, wird der Stream auf unbestimmte Zeit ausgeführt, bis Sie ihn abbrechen.

    • Zielstream — Die Kinesis Data Streams Streams-Zielressource, in die Ihr Stream die Datensätze schreibt. Verwenden Sie das folgende ARN Format.

      arn:aws:kinesis:aws-region:account-id:stream/kinesis-stream-name

      Im Folgenden wird ein Beispiel gezeigt.

      arn:aws:kinesis:us-east-1:123456789012:stream/stream-for-qldb

      Regionsübergreifende und kontoübergreifende Streams werden nicht unterstützt. Der angegebene Kinesis-Datenstrom muss sich im selben AWS-Region AND-Konto wie Ihr Ledger befinden.

    • Datensatzaggregation in Kinesis Data Streams aktivieren — (standardmäßig aktiviert) Ermöglicht die QLDB Veröffentlichung mehrerer Datensätze in einem einzigen Kinesis Data Streams Streams-Datensatz, wodurch die Anzahl der pro Anruf gesendeten Datensätze erhöht wird. API

    • Dienstzugriff — Die IAM Rolle, die QLDB Schreibberechtigungen für Ihren Kinesis-Datenstream gewährt.

      Um bei der Anforderung eines Journal-Streams eine Rolle zu QLDB übergeben, müssen Sie über die erforderlichen Berechtigungen verfügen, um die iam:PassRole Aktion für die IAM Rollenressource auszuführen.

      • Eine neue Servicerolle erstellen und verwenden — Lassen Sie die Konsole eine neue Rolle mit den erforderlichen Berechtigungen für den angegebenen Kinesis-Datenstream für Sie erstellen.

      • Eine bestehende Servicerolle verwenden — Informationen zum manuellen Erstellen dieser Rolle in finden Sie IAM unterStream-Berechtigungen.

    • Tags — (Optional) Fügen Sie dem Stream Metadaten hinzu, indem Sie Tags als Schlüssel-Wert-Paare anhängen. Sie können Ihrem Stream Tags hinzufügen, um sie zu organisieren und zu identifizieren. Weitere Informationen finden Sie unter QLDBAmazon-Ressourcen taggen.

      Wählen Sie Add tag (Tag hinzufügen) aus und geben Sie dann beliebige Schlüssel-Wert-Paare ein.

  5. Wenn die Einstellungen Ihren Wünschen entsprechen, wählen Sie Stream erstellen. QLDB

    Wenn Ihre Anfrage erfolgreich eingereicht wurde, kehrt die Konsole zur Streams-Hauptseite zurück und listet Ihre QLDB Streams mit ihrem aktuellen Status auf.

  6. Nachdem Ihr Stream aktiv ist, verwenden Sie Kinesis, um Ihre Stream-Daten mit einer Verbraucheranwendung zu verarbeiten.

    Öffnen Sie die Kinesis Data Streams Streams-Konsole unter https://console.aws.amazon.com/kinesis/.

Hinweise zum Format der Stream-Datensätze finden Sie unter QLDBStreamen von Datensätzen in Kinesis.

Informationen zum Umgang mit Streams, die zu einem Fehler führen, finden Sie unter Umgang mit beeinträchtigten Streams.

So brechen Sie einen Stream ab (Konsole)

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

  1. Öffnen Sie die QLDB Amazon-Konsole unter https://console.aws.amazon.com/qldb.

  2. Klicken Sie im Navigationsbereich auf Streams.

  3. Wählen Sie in der Liste der QLDB Streams den aktiven Stream aus, den Sie stornieren möchten.

  4. Wählen Sie Cancel stream (Stream abbrechen) aus. Bestätigen Sie dies, indem Sie cancel stream in das bereitgestellte Feld eingeben.

Hinweise zur Verwendung von QLDB API with an AWS SDK oder the AWS CLI zum Erstellen und Verwalten von Journal-Streams finden Sie unterEntwickeln mit Streams in QLDB.

Stream-Zustände

Der Status eines QLDB Streams kann einer der folgenden sein:

  • ACTIVE— Streamt gerade Daten oder wartet darauf, Daten zu streamen (für einen unbestimmten Stream ohne Endzeit).

  • COMPLETED— Hat das Streaming aller Journalblöcke innerhalb des angegebenen Zeitraums erfolgreich abgeschlossen. Diese ist ein Terminalstatus.

  • CANCELED— Wurde vor der angegebenen Endzeit durch eine Benutzeranfrage beendet und streamt keine Daten mehr aktiv. Diese ist ein Terminalstatus.

  • IMPAIRED— Aufgrund eines Fehlers, der Ihr Eingreifen erfordert, können keine Datensätze in Kinesis geschrieben werden. Dies ist ein wiederherstellbarer, nicht beendender Zustand.

    Wenn Sie den Fehler innerhalb einer Stunde beheben, wechselt der Stream automatisch in den ACTIVE-Zustand. Wenn der Fehler nach einer Stunde ungelöst bleibt, wechselt der Stream automatisch in den FAILED-Zustand.

  • FAILED— Kann aufgrund eines Fehlers keine Datensätze in Kinesis schreiben und befindet sich in einem nicht wiederherstellbaren Endzustand.

Das folgende Diagramm zeigt, wie eine QLDB Stream-Ressource zwischen Zuständen wechseln kann.

Das Zustandsdiagramm zeigt, wie eine QLDB Stream-Ressource zwischen den Zuständen „Aktiv“, „Storniert“, „Abgeschlossen“, „Beeinträchtigt“ und „Fehlgeschlagen“ wechseln kann.

Ablaufdatum für Beendigungs-Streams

Stream-Ressourcen, die sich in einem Beendigungszustand (CANCELED, COMPLETED, und FAILED) befinden, unterliegen einem Aufbewahrungszeitraum von 7 Tagen. Sie werden nach Ablauf dieses Limits automatisch dauerhaft gelöscht.

Nachdem ein Terminal-Stream gelöscht wurde, können Sie die QLDB Konsole oder die nicht mehr verwenden, QLDB API um die Stream-Ressource zu beschreiben oder aufzulisten.

Umgang mit beeinträchtigten Streams

Wenn Ihr Stream auf einen Fehler stößt, wechselt er zuerst in den IMPAIRED Status Status. QLDBversucht weiterhin, IMPAIRED Streams bis zu einer Stunde lang erneut zu versuchen.

Wenn Sie den Fehler innerhalb einer Stunde beheben, wechselt der Stream automatisch in den ACTIVE-Zustand. Wenn der Fehler nach einer Stunde ungelöst bleibt, wechselt der Stream automatisch in den FAILED-Zustand.

Ein beeinträchtigter oder fehlgeschlagener Stream kann eine der folgenden Fehlerursachen haben:

  • KINESIS_STREAM_NOT_FOUND— Die Kinesis Data Streams Streams-Zielressource ist nicht vorhanden. Stellen Sie sicher, dass der Kinesis-Datenstream, den Sie in Ihrer QLDB Stream-Anfrage angegeben haben, korrekt ist. Gehen Sie dann zu Kinesis und erstellen Sie den von Ihnen angegebenen Datenstrom.

  • IAM_PERMISSION_REVOKED— QLDB hat nicht genügend Berechtigungen, um Datensätze in den angegebenen Kinesis-Datenstrom zu schreiben. Stellen Sie sicher, dass Sie eine Richtlinie für Ihren angegebenen Kinesis-Datenstrom definieren, die dem QLDB Dienst (qldb.amazonaws.com) Berechtigungen für die folgenden Aktionen gewährt:

    • kinesis:PutRecord

    • kinesis:PutRecords

    • kinesis:DescribeStream

    • kinesis:ListShards

Überwachung beeinträchtigter Streams

Wenn ein Stream beeinträchtigt wird, zeigt die QLDB Konsole ein Banner mit Details zum Stream und dem aufgetretenen Fehler an. Sie können den DescribeJournalKinesisStream API Vorgang auch verwenden, um den Status eines Streams und die zugrunde liegende Fehlerursache abzurufen.

Darüber hinaus können Sie Amazon verwenden, CloudWatch um einen Alarm zu erstellen, der die IsImpaired Metrik eines Streams überwacht. Informationen zur Überwachung von QLDB Metriken mit CloudWatch finden Sie unterQLDBDimensionen und Metriken von Amazon.