本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用向 Kinesis Data Firehose 写入操作Amazon开发工具包
您可以使用Amazon Kinesis Data Firehose API使用将数据发送到 Kinesis Data Firehose 传输流Amazon适用于 Java 的开发工具包
这些示例并非可直接用于生产的代码,因为它们不会检查所有可能的异常,或者不会考虑到所有可能的安全或性能问题。
将数据发送到传输流,Kinesis Data Firehose API 提供两种将数据发送到传输流的操作:PutRecord和PutRecordBatch.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 操作.