

**지원 종료 공지:** 2026년 10월 30일에 Amazon Pinpoint에 대한 지원이 AWS 종료됩니다. 2026년 10월 30일 이후에는 Amazon Pinpoint 콘솔 또는 Amazon Pinpoint 리소스(엔드포인트, 세그먼트, 캠페인, 여정, 분석)에 더 이상 액세스할 수 없습니다. 자세한 내용은 [Amazon Pinpoint 지원 종료](https://docs.aws.amazon.com/console/pinpoint/migration-guide)를 참조하세요. **참고:** SMS, 음성, 모바일 푸시, OTP 및 전화번호 검증과 관련된 APIs는이 변경의 영향을 받지 않으며 AWS 최종 사용자 메시징에서 지원됩니다.

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

# Amazon Kinesis 또는 Amazon Data Firehose를 통해 앱 이벤트 데이터를 스트리밍하도록 Amazon Pinpoint 설정
<a name="event-streams-setup"></a>

Amazon Kinesis 스트림 또는Amazon Data Firehose 전송 스트림으로 이벤트를 전송하도록 Amazon Pinpoint를 설정할 수 있습니다. Amazon Pinpoint는 캠페인, 여정, 트랜잭션 이메일 및 SMS 메시지에 대한 이벤트 데이터를 전송할 수 있습니다.

이 단원에는 프로그래밍 방식의 이벤트 스트리밍 설정에 대한 정보가 포함되어 있습니다. Amazon Pinpoint 콘솔을 사용하여 이벤트 스트리밍을 설정할 수도 있습니다. Amazon Pinpoint 콘솔을 사용하여 이벤트 스트리밍을 설정하는 방법에 대한 자세한 내용은 *Amazon Pinpoint 사용 설명서*의 [이벤트 스트림 설정](https://docs.aws.amazon.com/pinpoint/latest/userguide/settings-event-streams.html) 섹션을 참조하세요.

## 사전 조건
<a name="event-streams-setup-prerequisites"></a>

이 단원의 예제에는 다음 입력이 필요합니다.
+ Amazon Pinpoint 및 보고 이벤트와 통합된 애플리케이션의 애플리케이션 ID입니다. 통합 방법에 대한 자세한 내용은 [Amazon Pinpoint를 애플리케이션과 통합](integrate.md) 단원을 참조하십시오.
+  AWS 계정에 있는 Kinesis 스트림 또는 Firehose 전송 스트림의 Amazon 리소스 이름(ARN)입니다. 이러한 리소스를 생성하는 방법에 대한 자세한 내용은 *Amazon Kinesis Data Streams 개발자 안내서*의 [스트림 생성 및 관리](https://docs.aws.amazon.com/streams/latest/dev/working-with-streams.html) 또는 *Amazon Data Firehose 개발자 안내서*의 [Amazon Data Firehose 전송 스트림 생성](https://docs.aws.amazon.com/firehose/latest/dev/basic-create.html) 섹션을 참조하세요.
+ Amazon Pinpoint가 스트림으로 데이터를 전송하도록 승인하는 AWS Identity and Access Management (IAM) 역할의 ARN입니다. 역할 생성에 대한 자세한 내용은 [이벤트를 Kinesis로 스트리밍하기 위한 IAM 역할](permissions-streams.md) 단원을 참조하십시오.

## AWS CLI
<a name="event-streams-setup-cli"></a>

다음 AWS CLI 예제에서는 [put-event-stream](https://docs.aws.amazon.com/cli/latest/reference/pinpoint/put-event-stream.html) 명령을 사용합니다. 이 명령은 Kinesis 스트림에 이벤트를 전송하도록 Amazon Pinpoint를 구성합니다.

```
aws pinpoint put-event-stream \
--application-id projectId \
--write-event-stream DestinationStreamArn=streamArn,RoleArn=roleArn
```

## AWS SDK for Java
<a name="event-streams-setup-java"></a>

다음 Java 예제는 이벤트를 Kinesis 스트림으로 전송하도록 Amazon Pinpoint를 구성합니다.

```
public PutEventStreamResult createEventStream(AmazonPinpoint pinClient, 
        String appId, String streamArn, String roleArn) {
        
    WriteEventStream stream = new WriteEventStream()
            .withDestinationStreamArn(streamArn)
            .withRoleArn(roleArn);

    PutEventStreamRequest request = new PutEventStreamRequest()
            .withApplicationId(appId)
            .withWriteEventStream(stream);

    return pinClient.putEventStream(request);
}
```

이 예제에서는 Kinesis 스트림 및 IAM 역할의 ARN을 저장하는 `WriteEventStream` 객체를 구성합니다. `WriteEventStream` 객체는 `PutEventStreamRequest` 객체에 전달되어 특정 애플리케이션의 이벤트를 스트리밍하도록 Amazon Pinpoint를 구성합니다. `PutEventStreamRequest` 객체는 Amazon Pinpoint 클라이언트의 `putEventStream` 메서드에 전달됩니다.

한 Kinesis 스트림을 여러 애플리케이션에 할당할 수 있습니다. 이 경우 Amazon Pinpoint가 각 애플리케이션에서 base64로 인코딩된 이벤트 데이터를 스트림으로 전송하므로 데이터를 하나의 모음으로 분석할 수 있습니다. 다음 예제 메서드는 애플리케이션(앱) ID의 목록을 허용하며, 이전 예제 메서드 `createEventStream`을 사용하여 각 애플리케이션에 스트림을 할당합니다.

```
public List<PutEventStreamResult> createEventStreamFromAppList(
        AmazonPinpoint pinClient, List<String> appIDs, 
        String streamArn, String roleArn) {

    return appIDs.stream()
            .map(appId -> createEventStream(pinClient, appId, streamArn, 
                    roleArn))
            .collect(Collectors.toList());
}
```

한 스트림을 여러 애플리케이션에 할당할 수 있지만 여러 스트림을 한 애플리케이션에 할당할 수는 없습니다.