Verstehen Sie die Datenlieferung in Amazon Data Firehose - Amazon Data Firehose

Die Bereitstellung von Amazon Data Firehose-Streams an Apache Iceberg Tables in Amazon S3 befindet sich in der Vorschauversion und kann sich ändern.

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.

Verstehen Sie die Datenlieferung in Amazon Data Firehose

Wenn Sie Daten an Ihren Firehose-Stream senden, werden sie automatisch an das von Ihnen gewählte Ziel gesendet. In der folgenden Tabelle wird die Datenzustellung an verschiedene Ziele erläutert.

Bestimmungsort Details
Amazon S3

Für die Datenlieferung an Amazon S3 verkettet Firehose mehrere eingehende Datensätze auf der Grundlage der Pufferkonfiguration Ihres Firehose-Streams. Anschließend übermittelt es die Datensätze als Amazon-S3-Objekt an Amazon S3. Standardmäßig verkettet Firehose Daten ohne Trennzeichen. Wenn Sie neue Zeilentrennzeichen zwischen Datensätzen haben möchten, können Sie neue Zeilentrennzeichen hinzufügen, indem Sie die Funktion in der Firehose-Konsolenkonfiguration oder im Parameter aktivieren. API

Amazon-Redshift

Für die Datenlieferung an Amazon Redshift liefert Firehose zunächst eingehende Daten in dem zuvor beschriebenen Format an Ihren S3-Bucket. Firehose gibt dann einen Amazon COPY Redshift-Befehl aus, um die Daten aus Ihrem S3-Bucket in Ihren von Amazon Redshift bereitgestellten Cluster oder Ihre Amazon Redshift Serverless-Arbeitsgruppe zu laden. Stellen Sie sicher, dass, nachdem Amazon Data Firehose mehrere eingehende Datensätze zu einem Amazon S3 S3-Objekt verkettet hat, das Amazon S3 S3-Objekt in Ihren von Amazon Redshift bereitgestellten Cluster oder Ihre Amazon Redshift Serverless-Arbeitsgruppe kopiert werden kann. Weitere Informationen finden Sie unter Amazon Redshift COPY Command Data Format Parameters.

OpenSearch Service und Serverless OpenSearch Für die Datenlieferung an OpenSearch Service und OpenSearch Serverless puffert Amazon Data Firehose eingehende Datensätze auf der Grundlage der Pufferkonfiguration Ihres Firehose-Streams. Anschließend generiert es eine OpenSearch Service- oder OpenSearch Serverless-Massenanforderung, um mehrere Datensätze in Ihrem Service-Cluster oder Ihrer OpenSearch Serverless-Sammlung zu indizieren. OpenSearch Stellen Sie sicher, dass Ihr Datensatz UTF -8-kodiert und zu einem einzeiligen JSON Objekt reduziert ist, bevor Sie ihn an Amazon Data Firehose senden. Außerdem muss die rest.action.multi.allow_explicit_index Option für Ihren OpenSearch Service-Cluster auf true (Standard) gesetzt sein, um Massenanfragen mit einem expliziten Index entgegenzunehmen, der pro Datensatz festgelegt ist. Weitere Informationen finden Sie unter OpenSearch Service Configure Advanced Options im Amazon OpenSearch Service Developer Guide.
Splunk

Für die Datenlieferung an Splunk verkettet Amazon Data Firehose die von Ihnen gesendeten Bytes. Wenn Sie Trennzeichen in Ihren Daten wünschen, wie z. B. ein Neue-Zeile-Zeichen, müssen Sie sie selbst einfügen. Stellen Sie sicher, dass Splunk so konfiguriert ist, dass diese Trennzeichen bei der Analyse berücksichtigt werden. Gehen Sie wie in der Splunk-Dokumentation beschrieben vor, um die Daten, die an den S3-Fehler-Bucket (S3-Backup) übermittelt wurden, wieder an Splunk weiterzuleiten.

HTTPEndpunkt Für die Datenlieferung an einen HTTP Endpunkt, der einem unterstützten Drittanbieter gehört, können Sie den integrierten Amazon Lambda-Service verwenden, um eine Funktion zu erstellen, mit der die eingehenden Datensätze in das Format umgewandelt werden, das dem Format entspricht, das die Integration des Dienstanbieters erwartet. Wenden Sie sich an den Drittanbieter, dessen HTTP Endpunkt Sie für Ihr Ziel ausgewählt haben, um mehr über das akzeptierte Datensatzformat zu erfahren.
Snowflake

Für die Datenlieferung an Snowflake puffert Amazon Data Firehose intern Daten für eine Sekunde und verwendet API Snowflake-Streaming-Operationen, um Daten in Snowflake einzufügen. Standardmäßig werden Datensätze, die Sie einfügen, jede Sekunde geleert und in die Snowflake-Tabelle übernommen. Nachdem Sie den Insert-Aufruf ausgeführt haben, gibt Firehose eine CloudWatch Metrik aus, die misst, wie lange es gedauert hat, bis die Daten an Snowflake übergeben wurden. Firehose unterstützt derzeit nur einzelne JSON Elemente als Datensatznutzlast und unterstützt JSON keine Arrays. Stellen Sie sicher, dass Ihre Eingabe-Payload ein gültiges JSON Objekt ist und ohne zusätzliche doppelte Anführungszeichen, Anführungszeichen oder Escape-Zeichen korrekt formatiert ist.

Jedes Firehose-Ziel hat seine eigene Datenlieferfrequenz. Weitere Informationen finden Sie unter Pufferhinweise konfigurieren.

Doppelte Datensätze

Amazon Data Firehose verwendet at-least-once Semantik für die Datenlieferung. Unter bestimmten Umständen, z. B. wenn das Zeitlimit für die Datenzustellung überschritten wird, kann es bei erneuten Zustellungsversuchen von Amazon Data Firehose zu Duplikaten kommen, wenn die ursprüngliche Datenlieferanforderung irgendwann durchgeht. Dies gilt für alle Zieltypen, die Amazon Data Firehose unterstützt.