

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 AWS SDK 傳送資料
<a name="writing-with-sdk"></a>

您可以使用 [Amazon Data Firehose API](https://docs.aws.amazon.com/firehose/latest/APIReference/)，使用[AWS 適用於 Java](https://aws.amazon.com/sdk-for-java/)、.[NET](https://aws.amazon.com/sdk-for-net/)、[Node.js](https://aws.amazon.com/sdk-for-javascript/)、[Python](https://aws.amazon.com/sdk-for-python/) 或 [Ruby](https://aws.amazon.com/sdk-for-ruby/) 的 SDK 將資料傳送至 Firehose 串流。如果您是初次使用 Amazon Data Firehose，請花一些時間熟悉 中介紹的概念和術語[什麼是 Amazon Data Firehose？](what-is-this-service.md)。如需詳細資訊，請參閱 [Amazon Web Services 開發功能入門](https://aws.amazon.com/developers/getting-started/)。

這些範例不代表可立即生產的程式碼，無法檢查出所有可能的例外狀況，也不可視為任何潛在安全或效能疑慮的原因。

Amazon Data Firehose API 提供兩個將資料傳送至 Firehose 串流的操作：[PutRecord](https://docs.aws.amazon.com/firehose/latest/APIReference/API_PutRecord.html) 和 [PutRecordBatch](https://docs.aws.amazon.com/firehose/latest/APIReference/API_PutRecordBatch.html)。 會在一次呼叫中`PutRecord()`傳送一個資料記錄，而且`PutRecordBatch()`可以在一次呼叫中傳送多個資料記錄。

## 使用 PutRecord 的單一寫入操作
<a name="putrecord"></a>

放置資料只需要 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);
```

如需更多程式碼內容，請參閱 AWS SDK 中包含的範例程式碼。如需有關請求和回應語法的資訊，請參閱 [Firehose API Operations](https://docs.aws.amazon.com/firehose/latest/APIReference/API_Operations.html) 中的相關主題。

## 使用 PutRecordBatch 的批次寫入操作
<a name="putrecordbatch"></a>

放置資料只需要 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();
```

如需更多程式碼內容，請參閱 AWS SDK 中包含的範例程式碼。如需請求和回應語法的相關資訊，請參閱 [Firehose API Operations](https://docs.aws.amazon.com/firehose/latest/APIReference/API_Operations.html) 中的相關主題。