使用软件开发工具包写入亚马逊 Data Firehose Amazon - Amazon Data Firehose
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

亚马逊 Data Firehose 以前被称为亚马逊 Kinesis Data Firehose

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

使用软件开发工具包写入亚马逊 Data Firehose Amazon

你可以使用 Amazon Data Firehose API 使用Amazon适用于 Java、.NET、Node.js、Pyth on 或 Ruby 的 SDK 向 Firehose 直播发送数据。如果您不熟悉 Amazon Data Firehose,请花点时间熟悉中介绍的概念和术语。什么是亚马逊数据 Firehose?有关更多信息,请参阅开始使用 Amazon Web Services 开发

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

Amazon Data Firehose API 提供了两种用于向你的 Firehose 直播发送数据的操作:和。PutRecordPutRecordBatch PutRecord()在一个呼叫中发送一条数据记录,并且PutRecordBatch()可以在一个呼叫中发送多条数据记录。

单次写入操作使用 PutRecord

放置数据只需要 Firehose 流名称和字节缓冲区 (<=1000 KB)。由于 Amazon Data Firehose 在将文件加载到 Amazon S3 之前会对多条记录进行批处理,因此您可能需要添加记录分隔符。要将数据逐条放入 Firehose 流中,请使用以下代码:

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 SDK 中包含的示例代码。有关请求和响应语法的信息,请参阅 Firehose API 操作中的相关主题。

批量写入操作使用 PutRecordBatch

放置数据只需要提供 Firehose 直播名称和记录列表。由于 Amazon Data Firehose 在将文件加载到 Amazon S3 之前会对多条记录进行批处理,因此您可能需要添加记录分隔符。要将数据记录批量放入 Firehose 流,请使用以下代码:

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 SDK 中包含的示例代码。有关请求和响应语法的信息,请参阅 Firehose API 操作中的相关主题。