Daten senden mit AWS SDK - 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.

Daten senden mit AWS SDK

Sie können Amazon Data Firehose verwenden, API um Daten an einen Firehose-Stream zu senden, indem Sie AWS SDKfür Java,. NET, Node.js, Python oder Ruby. Wenn Sie Amazon Data Firehose noch nicht kennen, nehmen Sie sich etwas Zeit, um sich mit den Konzepten und der Terminologie vertraut zu machen, die in Was ist Amazon Data Firehose? vorgestellt werden. Weitere Informationen finden Sie unter Entwickeln Sie Ihre Apps mit Amazon Web Services.

Diese Beispiele stellen keinen produktionsbereiten Code dar, d. h. es werden nicht alle möglichen Ausnahmen geprüft und es werden nicht alle möglichen Sicherheits- oder Leistungsüberlegungen berücksichtigt.

Amazon Data Firehose API bietet zwei Operationen zum Senden von Daten an Ihren Firehose-Stream: PutRecordund. PutRecordBatch PutRecord()sendet einen Datensatz innerhalb eines Anrufs und PutRecordBatch() kann mehrere Datensätze innerhalb eines Anrufs senden.

Einzelne Schreiboperationen mit PutRecord

Für das Einfügen von Daten sind nur der Firehose-Streamname und ein Bytepuffer (<=1000 KB) erforderlich. Da Amazon Data Firehose mehrere Datensätze stapelt, bevor die Datei in Amazon S3 geladen wird, möchten Sie möglicherweise ein Datensatztrennzeichen hinzufügen. Verwenden Sie den folgenden Code, um Daten datensatzweise in einen Firehose-Stream einzufügen:

PutRecordRequest putRecordRequest = new PutRecordRequest(); putRecordRequest.setDeliveryStreamName(deliveryStreamName); String data = line + "\n"; Record record = new Record().withData(ByteBuffer.wrap(data.getBytes())); putRecordRequest.setRecord(record); // Put record into the DeliveryStream firehoseClient.putRecord(putRecordRequest);

Weitere Informationen zum Codekontext finden Sie im Beispielcode im AWS SDK. Informationen zur Anforderungs- und Antwortsyntax finden Sie im entsprechenden Thema unter Firehose API Operations.

Batch-Schreiboperationen mit PutRecordBatch

Für das Einfügen von Daten sind nur der Firehose-Stream-Name und eine Liste von Datensätzen erforderlich. Da Amazon Data Firehose mehrere Datensätze stapelt, bevor die Datei in Amazon S3 geladen wird, möchten Sie möglicherweise ein Datensatztrennzeichen hinzufügen. Verwenden Sie den folgenden Code, um Datensätze stapelweise in einen Firehose-Stream einzufügen:

PutRecordBatchRequest putRecordBatchRequest = new PutRecordBatchRequest(); putRecordBatchRequest.setDeliveryStreamName(deliveryStreamName); putRecordBatchRequest.setRecords(recordList); // Put Record Batch records. Max No.Of Records we can put in a // single put record batch request is 500 firehoseClient.putRecordBatch(putRecordBatchRequest); recordList.clear();

Weitere Informationen zum Codekontext finden Sie im Beispielcode im AWS SDK. Informationen zur Anforderungs- und Antwortsyntax finden Sie im entsprechenden Thema unter Firehose API Operations.