

**サポート終了通知:** 2026 年 10 月 30 日に、 AWS は Amazon Pinpoint のサポートを終了します。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 Pinpoint は、Amazon Kinesis ストリームまたは Amazon Data Firehose 配信ストリームにイベントデータを送信するように設定することができます。Amazon Pinpoint は、キャンペーン、ジャーニー、トランザクション用の Eメールや 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 ストリームの ARN と IAM ロールを保存する `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());
}
```

1 つのストリームを複数のアプリケーションに割り当てることができますが、複数のストリームを 1 つのアプリケーションに割り当てることはできません。