View a markdown version of this page

So funktioniert die Amazon S3-Lieferung - Amazon Kinesis Data Streams

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.

So funktioniert die Amazon S3-Lieferung

In diesem Thema erfahren Sie, wie eine Amazon S3-Lieferung Datensätze aus einem Amazon Kinesis Data Streams-Stream an allgemeine Amazon Simple Storage Service-Buckets sendet, einschließlich Speicherkonfiguration, Komprimierung, Speicherklasse, Datensatzformate und Verschlüsselung.

Wie funktioniert die Lieferung

Bei einer Amazon S3-Lieferung werden Datensätze in den folgenden Schritten an allgemeine Amazon S3-Buckets gesendet:

  1. Lesen — Die Lieferung liest Datensätze aus allen Shards im Kinesis Data Streams-Stream.

  2. Puffer — Datensätze werden gepuffert, bis das Aktualisierungsintervall der Daten erreicht ist.

  3. Validieren — wenn das Datensatzformat festgelegt istSTRING, wird jeder Datensatz als gültige UTF-8 Zeichenfolge validiert; ist das Datensatzformat aktiviertJSON, wird jeder Datensatz als gültige JSON-Nutzlast validiert. Datensätze, bei denen die Überprüfung nicht bestanden hat, werden an die Warteschlange mit unzustellbaren Buchstaben gesendet.

  4. Komprimieren und formatieren — Datensätze werden gemäß dem konfigurierten Ausgabeformat formatiert und mit dem angegebenen Komprimierungsalgorithmus komprimiert.

  5. Ausliefern — Die resultierenden Objekte werden mithilfe der konfigurierten Schlüsselvorlage in den Amazon S3-Ziel-Bucket geschrieben.

  6. Dead-letter Warteschlange — Datensätze, bei denen die Überprüfung nicht bestanden hat, werden mit Fehlerkontext in die Warteschlange mit unlesbaren Buchstaben geschrieben.

Speicherkonfiguration

Wenn Sie eine Amazon S3-Lieferung erstellen, geben Sie die folgende Speicherkonfiguration an:

  • BucketARN — der ARN des Amazon S3-Ziel-Buckets.

  • ExpectedBucketOwner— die 12-stellige AWS-Konto ID des erwarteten Besitzers des Ziel-Buckets. Dieser Wert ist erforderlich und verhindert, dass die Übertragung an einen unbeabsichtigten Bucket erfolgt, falls sich der Besitzer ändert.

  • CompressionType— der Komprimierungstyp, der auf übermittelte Objekte angewendet wird. Dieser Wert ist erforderlich. Geben Sie anNONE, um Objekte ohne Komprimierung bereitzustellen. Siehe Optionen für die Komprimierung.

  • StorageClass— die Amazon S3-Speicherklasse für gelieferte Objekte (optional). Siehe Speicherklasse.

  • OutputKeyTemplate— die Vorlage, die zur Erstellung des Amazon S3-Objektschlüssels verwendet wurde (optional). Siehe Vorlage für einen S3-Ausgabeschlüssel für die Amazon S3-Lieferung.

Optionen für die Komprimierung

Sie müssen einen Komprimierungstyp für die Lieferung an Amazon S3-Buckets für allgemeine Zwecke angeben. Um Objekte ohne Komprimierung bereitzustellen, wählen SieNONE. Wählen Sie einen der folgenden Komprimierungstypen:

  • GZIP — Standard-GZIP-Komprimierung. Gute Balance zwischen Kompressionsverhältnis und Geschwindigkeit.

  • STD — ZStandardkomprimierung. Höheres Kompressionsverhältnis mit schnellerer Dekomprimierung.

  • KEINE — Es wurde keine Komprimierung angewendet. Datensätze werden unkomprimiert geliefert.

Speicherklasse

Sie können optional die Amazon S3-Speicherklasse für gelieferte Objekte angeben. Wenn nicht angegeben, ist die Standardspeicherklasse STANDARD. Unterstützte Speicherklassen:

  • STANDARD — Allzweckspeicher für Daten, auf die häufig zugegriffen wird.

  • INTELLIGENT_TIERING — verschiebt Daten automatisch auf der Grundlage von Nutzungsmustern zwischen Zugriffsebenen.

  • GLACIER_IR — kostengünstiger Speicher für Daten, die sofort abgerufen werden müssen.

Weitere Informationen zu Amazon S3-Speicherklassen finden Sie unter Understanding and manage storage classes im Amazon S3-Benutzerhandbuch.

Vorlage für Ausgabeschlüssel

Sie können die Vorlage für den Ausgabeschlüssel so konfigurieren, dass sie die Amazon S3-Objektschlüsselstruktur für bereitgestellte Dateien steuert. Die Vorlage unterstützt dynamische Platzhalter für Datum, Uhrzeit und Liefermetadaten, um Ihre Daten im Ziel-Bucket zu organisieren. Die Standardvorlage, unterstützte Variablen und Beispiele finden Sie unterVorlage für einen S3-Ausgabeschlüssel für die Amazon S3-Lieferung.

Datenaktualität

Die Aktualität der Daten definiert die maximale Pufferzeit, bevor Datensätze geliefert werden. Sie können diesen Wert zwischen 300 und 900 Sekunden (5 bis 15 Minuten) konfigurieren. Standardmäßig ist ein Zeitraum von 300 Sekunden festgelegt. Niedrigere Werte sorgen für eine schnellere Lieferung, während höhere Werte weniger, größere Objekte erzeugen.

Dead-letter Warteschlange

Für Lieferungen an Amazon S3-Buckets für allgemeine Zwecke ist eine Warteschlange mit unzustellbaren Briefen optional. Wenn Sie keine Warteschlangenkonfiguration angeben, schreibt die Lieferung standardmäßig Fehlerinformationen mit einem Fehlerpräfix in denselben Ziel-Bucket.

Wenn Sie eine Warteschlange für unlesbare Nachrichten angeben, geben Sie Folgendes an:

  • BucketARN — der ARN des Amazon S3-Buckets, der Informationen über Datensätze empfängt, die nicht zugestellt werden konnten.

  • ExpectedBucketOwner— die 12-stellige AWS-Konto ID des erwarteten Besitzers des Buckets für unlesbare Briefe (erforderlich, wenn Sie eine Warteschlange für unlesbare Nachrichten angeben).

  • ErrorOutputPrefix— ein optionales Präfix für die Organisation der fehlerhaften Metadatenobjekte innerhalb des Buckets.

Formate aufzeichnen

Amazon S3-Lieferungen unterstützen die folgenden Datensatzformate für die Lieferung an Amazon S3-Buckets für allgemeine Zwecke:

  • JSON — einfache JSON-Datensätze.

  • STRING — UTF-8 Zeichenkettendatensätze.

  • BYTE_ARRAY — rohe Binärdatensätze.

Anmerkung

Das GSR_JSON Datensatzformat wird für die Lieferung an Amazon S3-Buckets für allgemeine Zwecke nicht unterstützt. Es wird nur für die Übertragung an Streaming-Tabellen auf Apache Iceberg unterstützt, für die eine AWS Glue Schemaregistrierung erforderlich ist.

Cross-account Lieferung

Amazon S3-Lieferungen unterstützen die kontoübergreifende Lieferung an Amazon S3-Buckets für allgemeine Zwecke. Der Quell-Stream und der Ziel-Bucket müssen sich im selben befinden. AWS-Region Konfigurieren Sie die Ziel-Bucket-Richtlinie so, dass der IAM-Bereitstellungsrolle die Berechtigung zum Schreiben von Objekten erteilt wird.

Verschlüsselung

Amazon S3-Lieferungen unterstützen serverseitige Verschlüsselung mit vom Kunden verwalteten AWS KMS Schlüsseln für Objekte, die an Amazon S3-Buckets für allgemeine Zwecke übermittelt werden. Sie können einen vom Kunden verwalteten AWS KMS Schlüssel angeben, um gelieferte Objekte zu verschlüsseln.

Wichtig

Sie können den aws/kinesis AWS KMS Alias nicht für die Zielverschlüsselung verwenden. Sie müssen einen vom Kunden verwalteten AWS KMS Schlüssel verwenden.

Wenn Ihr Kinesis-Quelldatenstrom verschlüsselt ist, gelten zusätzliche Überlegungen. Ein mit einem Von AWS verwalteter Schlüssel (dem aws/kinesis Alias) verschlüsselter Stream wird nicht unterstützt, und für die Rolle „Serviceausführung“ sind AWS KMS Berechtigungen zum Entschlüsseln von Quelldatensätzen erforderlich. Informationen zu den Verschlüsselungsanforderungen für den Quellstream finden Sie unterVerschlüsselung des Quelldatenstroms. Die AWS KMS Berechtigungen, die die Rolle zur Dienstausführung benötigt, finden Sie unterIAM-Berechtigungen für die Datenlieferung.