複数のキャンペーンの Amazon Pinpoint データをクエリする - Amazon Pinpoint

サポート終了通知: 2026 年 10 月 30 日に、 AWS は Amazon Pinpoint のサポートを終了します。2026 年 10 月 30 日以降、Amazon Pinpoint コンソールまたは Amazon Pinpoint リソース (エンドポイント、セグメント、キャンペーン、ジャーニー、分析) にアクセスできなくなります。詳細については、Amazon Pinpoint のサポート終了」を参照してください。注: SMS、音声、モバイルプッシュ、OTP、電話番号の検証に関連する APIs は、この変更の影響を受けず、 AWS エンドユーザーメッセージングでサポートされています。

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

複数のキャンペーンの Amazon Pinpoint データをクエリする

複数のキャンペーンのデータをクエリする方法は 2 つあります。最適な方法は、すべて同じプロジェクトに関連付けられているキャンペーンのデータをクエリするかどうかによって異なります。その場合は、すべてのキャンペーンのデータに対してクエリを実行するか、それらのキャンペーンのみまたはサブセットのどちらに対してクエリを実行するかによっても異なります。

異なるプロジェクトに関連付けられているキャンペーン、または同じプロジェクトに関連付けられているキャンペーンのサブセットのみのデータをクエリするには、データをクエリするキャンペーンごとに 1 つずつ、一連の個別のクエリを作成して実行するのが最善の方法です。前のセクションでは、1 つのキャンペーンのデータをクエリする方法について説明しています。

同じプロジェクトに関連付けられているすべてのキャンペーンのデータをクエリするには、アプリケーションメトリクス API を使用します。以下の必須のパラメータの値を指定します。

  • application-id – プロジェクトの一意の識別子であるプロジェクト ID。Amazon Pinpoint では、プロジェクトアプリケーションという用語は同じ意味です。

  • kpi-name – クエリするメトリクスの名前。この値は、関連するメトリクスを記述し、ハイフンで区切られた小文字の英数字で構成される 2 つ以上の用語で構成されます。サポートされているメトリクスの完全なリストと各メトリクスの kpi-name 値については、「プロジェクト、キャンペーン、ジャーニーの標準メトリクス」を参照してください。

日付範囲でデータをフィルタリングすることもできます。日付範囲を指定しない場合、Amazon Pinpoint は過去 31 暦日のデータを返します。異なる日付でデータをフィルタリングするには、サポートされている日付範囲パラメータを使用して、日付範囲の最初と最後の日時を指定します。値は拡張 ISO 8601 形式で、協定世界時(UTC)を使用する必要があります (例: 2019-07-19T20:00:00Z は、2019年7月19日午後8時 (UTC) )。日付範囲は包括的であり、31 日以内に制限する必要があります。また、最初の日付と時刻は、現在の日付から 90 日未満である必要があります。

次の例は、Amazon Pinpoint REST API、、および を使用して AWS CLIキャンペーンの分析データをクエリする方法を示しています AWS SDK for Java。サポートされている任意の AWS SDK を使用して、キャンペーンの分析データをクエリできます。 AWS CLI 例は Microsoft Windows 用にフォーマットされています。Unix、Linux、macOS の場合は、キャレット (^) 行継続文字をバックスラッシュ (\) に置き換えます。

REST API

Amazon Pinpoint REST API を使用して複数のキャンペーンの分析データをクエリするには、HTTP(S) GET リクエストを Application Metrics URI に送信します。URI で、必要なパスパラメータに次の適切な値を指定します。

https://endpoint/v1/apps/application-id/kpis/daterange/kpi-name

各パラメータの意味は次のとおりです。

  • endpoint は、キャンペーンに関連付けられたプロジェクトをホストする AWS リージョンの Amazon Pinpoint エンドポイントです。

  • application-id は、キャンペーンに関連付けられているプロジェクトの一意の識別子です。

  • kpi-name は、クエリするメトリクスの kpi-name 値です。

すべてのパラメータは、URL エンコードする必要があります。

特定の日付範囲のデータを取得するフィルターを適用するには、URI に start-time および end-time クエリパラメータと値を追加します。これらのパラメータを使用すると、データを取得する日付範囲の最初と最後の日付と時刻(両端を含む)を、拡張 ISO 8601 形式で指定できます。パラメータを区切るには、アンパサンド (&) を使用します。

例えば、次のリクエストは、2019 年 7 月 19 日から 2019 年 7 月 26 日まで、プロジェクトの各キャンペーンによってメッセージが配信された一意のエンドポイントの数を取得します。

https://pinpoint.us-east-1.amazonaws.com/v1/apps/1234567890123456789012345example/kpis/daterange/unique-deliveries-grouped-by-campaign?start-time=2019-07-19T00:00:00Z&end-time=2019-07-26T23:59:59Z

コードの説明は以下のとおりです。

  • pinpoint.us-east-1.amazonaws.com は、プロジェクトをホストする AWS リージョンの Amazon Pinpoint エンドポイントです。

  • 1234567890123456789012345example は、キャンペーンに関連付けられているプロジェクトの一意の識別子です。

  • unique-deliveries-grouped-by-campaign は、エンドポイント配信の kpi-name 値で、キャンペーンごとのアプリケーションメトリック (メッセージが配信されたユニークエンドポイントの数を返すメトリック) ごとにグループ化されています。

  • 2019-07-19T00:00:00Z は、端の値を含む日付範囲の一部として、データを取得する最初の日付と時刻です。

  • 2019-07-26T23:59:59Z は、端の値を含む日付範囲の一部として、データを取得する最後の日付と時刻です。

AWS CLI

を使用して複数のキャンペーンの分析データをクエリするには AWS CLI、 get-application-date-range-kpi コマンドを使用して、必要なパラメータに適切な値を指定します。

C:\> aws pinpoint get-application-date-range-kpi ^ --application-id application-id ^ --kpi-name kpi-name

コードの説明は以下のとおりです。

  • application-id は、キャンペーンに関連付けられているプロジェクトの一意の識別子です。

  • kpi-name は、クエリするメトリクスの kpi-name 値です。

特定の日付範囲のデータを取得するフィルターを適用するには、start-time および end-time パラメータと値をクエリに含めます。これらのパラメータを使用すると、データを取得する日付範囲の最初と最後の日付と時刻(両端を含む)を、拡張 ISO 8601 形式で指定できます。例えば、次のリクエストは、2019 年 7 月 19 日から 2019 年 7 月 26 日まで、プロジェクトの各キャンペーンによってメッセージが配信された一意のエンドポイントの数を取得します。

C:\> aws pinpoint get-application-date-range-kpi ^ --application-id 1234567890123456789012345example ^ --kpi-name unique-deliveries-grouped-by-campaign ^ --start-time 2019-07-19T00:00:00Z ^ --end-time 2019-07-26T23:59:59Z

コードの説明は以下のとおりです。

  • 1234567890123456789012345example は、キャンペーンに関連付けられているプロジェクトの一意の識別子です。

  • unique-deliveries-grouped-by-campaign は、エンドポイント配信の kpi-name 値で、キャンペーンごとのアプリケーションメトリック (メッセージが配信されたユニークエンドポイントの数を返すメトリック) ごとにグループ化されています。

  • 2019-07-19T00:00:00Z は、端の値を含む日付範囲の一部として、データを取得する最初の日付と時刻です。

  • 2019-07-26T23:59:59Z は、端の値を含む日付範囲の一部として、データを取得する最後の日付と時刻です。

SDK for Java

を使用して複数のキャンペーンの分析データをクエリするには AWS SDK for Java、Application Metrics API の GetApplicationDateRangeKpiRequestメソッドを使用します。必要なパラメータに適切な値を指定します。

GetApplicationDateRangeKpiRequest request = new GetApplicationDateRangeKpiRequest() .withApplicationId("applicationId") .withKpiName("kpiName")

コードの説明は以下のとおりです。

  • applicationId は、キャンペーンに関連付けられているプロジェクトの一意の識別子です。

  • kpiName は、クエリするメトリクスの kpi-name 値です。

特定の日付範囲のデータを取得するフィルターを適用するには、startTime および endTime パラメータと値をクエリに含めます。これらのパラメータを使用すると、データを取得する日付範囲の最初と最後の日付と時刻(両端を含む)を、拡張 ISO 8601 形式で指定できます。例えば、次のリクエストは、2019 年 7 月 19 日から 2019 年 7 月 26 日まで、プロジェクトの各キャンペーンによってメッセージが配信された一意のエンドポイントの数を取得します。

GetApplicationDateRangeKpiRequest request = new GetApplicationDateRangeKpiRequest() .withApplicationId("1234567890123456789012345example") .withKpiName("unique-deliveries-grouped-by-campaign") .withStartTime(Date.from(Instant.parse("2019-07-19T00:00:00Z"))) .withEndTime(Date.from(Instant.parse("2019-07-26T23:59:59Z")));

コードの説明は以下のとおりです。

  • 1234567890123456789012345example は、キャンペーンに関連付けられているプロジェクトの一意の識別子です。

  • unique-deliveries-grouped-by-campaign は、エンドポイント配信の kpi-name 値で、キャンペーンごとのアプリケーションメトリック (メッセージが配信されたユニークエンドポイントの数を返すメトリック) ごとにグループ化されています。

  • 2019-07-19T00:00:00Z は、端の値を含む日付範囲の一部として、データを取得する最初の日付と時刻です。

  • 2019-07-26T23:59:59Z は、端の値を含む日付範囲の一部として、データを取得する最後の日付と時刻です。

クエリを送信すると、Amazon Pinpoint はクエリ結果を JSON レスポンスで返します。結果の構造は、クエリしたメトリクスによって異なります。一部のメトリクスは 1 つの値しか返しません。その他のメトリクスは複数の値を返し、それらの値は関連するフィールドによってグループ化されます。メトリクスが複数の値を返す場合、JSON レスポンスにはデータのグループ化に使用されたフィールドを示すフィールドが含まれます。

例えば、前述の例で使用されているキャンペーンごとにグループ化されたエンドポイント配信 (unique-deliveries-grouped-by-campaign) アプリケーションメトリックは、プロジェクトに関連付けられた各キャンペーンについて、複数の値 (メッセージが配信されたユニークなエンドポイントの数) を返します。この場合、JSON レスポンスは次のようになります。

{ "ApplicationDateRangeKpiResponse":{ "ApplicationId":"1234567890123456789012345example", "EndTime":"2019-07-26T23:59:59Z", "KpiName":"unique-deliveries-grouped-by-campaign", "KpiResult":{ "Rows":[ { "GroupedBys":[ { "Key":"CampaignId", "Type":"String", "Value":"80b8efd84042ff8d9c96ce2f8example" } ], "Values":[ { "Key":"UniqueDeliveries", "Type":"Double", "Value":"123.0" } ] }, { "GroupedBys":[ { "Key":"CampaignId", "Type":"String", "Value":"810c7aab86d42fb2b56c8c966example" } ], "Values":[ { "Key":"UniqueDeliveries", "Type":"Double", "Value":"456.0" } ] }, { "GroupedBys":[ { "Key":"CampaignId", "Type":"String", "Value":"42d8c7eb0990a57ba1d5476a3example" } ], "Values":[ { "Key":"UniqueDeliveries", "Type":"Double", "Value":"789.0" } ] } ] }, "StartTime":"2019-07-19T00:00:00Z" } }

この場合、GroupedBys フィールドは値がキャンペーン ID (CampaignId) でグループ化されていることを示しています。

クエリ結果の構造の詳細については、「JSON クエリ結果を使用する」を参照してください。