

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# AWS SDK でデータを送信する
<a name="writing-with-sdk"></a>

[Amazon Data Firehose API](https://docs.aws.amazon.com/firehose/latest/APIReference/) を使用して Firehose ストリームにデータを送信するには、[AWS SDK for 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/) を使用します。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 ストリームにデータを送信するための 2 つのオペレーション ([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()` が 1 回の呼び出し内で 1 つのデータレコードを送信し、`PutRecordBatch()` は 1 回の呼び出し内で複数のデータレコードを送信できます。

## 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)」の関連するトピックを参照してください。