使用向 Kinesis Data Firehose 写入操作Amazon开发工具包 - Amazon Kinesis Data Firehose
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用向 Kinesis Data Firehose 写入操作Amazon开发工具包

您可以使用Amazon Kinesis Data Firehose API使用将数据发送到 Kinesis Data Firehose 传输流Amazon适用于 Java 的开发工具包.NETNode.jsPython,或者红宝石. 如果您不熟悉 Kinesis Data Firehose,请花点时间熟悉一下中介绍的概念和术语。什么是 Amazon Kinesis Data Firehose?. 有关更多信息,请参阅开始使用 Amazon Web Services 开发

这些示例并非可直接用于生产的代码,因为它们不会检查所有可能的异常,或者不会考虑到所有可能的安全或性能问题。

将数据发送到传输流,Kinesis Data Firehose API 提供两种将数据发送到传输流的操作:PutRecordPutRecordBatch.PutRecord()在一次通话中发送一条数据记录PutRecordBatch()可以在一次通话中发送多条数据记录。

使用 PutRecord 执行单一写入操作

放入数据时,只需提供 Kinesis Data Firehose 传输流名称和字节缓冲区 (<=1000 KB)。将多条记录组 Kinesis Data Firehose 到一起,然后将文件加载到 Amazon S3 中。因此,您需要添加记录分隔符。要以一次一条记录的方式向传输流写入数据,请使用以下代码:

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);

有关代码上下文的更多信息,请参阅Amazon发工具包。有关请求和响应语法的信息,请参阅中的相关主题Amazon Kinesis Data Firehose API 操作.

使用 PutRecordBatch 执行批量写入操作

投入数据时,只需提供 Kinesis Data Firehose 传输流名称和记录列表。将多条记录组 Kinesis Data Firehose 到一起,然后将文件加载到 Amazon S3 中。因此,您需要添加记录分隔符。要以批量方式向传输流写入数据记录,请使用以下代码:

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();

有关代码上下文的更多信息,请参阅Amazon发工具包。有关请求和响应语法的信息,请参阅中的相关主题Amazon Kinesis Data Firehose API 操作.