

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# AWS SDK를 사용하여 데이터 전송
<a name="writing-with-sdk"></a>

[Amazon Data Firehose API](https://docs.aws.amazon.com/firehose/latest/APIReference/)를 사용하면 [Java용AWS SDK](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/)를 사용하여 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 스트림 이름과 바이트 버퍼(<=1000KB)만 있으면 됩니다. 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 작업](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 작업](https://docs.aws.amazon.com/firehose/latest/APIReference/API_Operations.html)의 관련 주제를 참조하세요.