查询多个活动的 Amazon Pinpoint 数据 - Amazon Pinpoint

终止支持通知: AWS 将于 2026 年 10 月 30 日终止对亚马逊 Pinpoint 的支持。2026 年 10 月 30 日之后,您将无法再访问亚马逊 Pinpoint 控制台或亚马逊 Pinpoint 资源(终端节点、区段、活动、旅程和分析)。有关更多信息,请参阅 Amazon Pinpoint 终止支持。注意: APIs 与短信相关、语音、移动推送、OTP 和电话号码验证不受此更改的影响,并受 AWS 最终用户消息的支持。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

查询多个活动的 Amazon Pinpoint 数据

可通过两种方式查询多个活动的数据。哪种方式最佳,这取决于您是否要查询均与同一项目关联的活动的数据。如果您要查询,则最佳方式还取决于您是要查询所有这些活动的数据,还是仅查询一部分活动的数据。

要查询与不同项目关联的活动的数据,或仅查询与同一项目关联的部分活动的数据,最佳方式是创建并运行一系列单独的查询,并且一个查询对应一个活动。上一部分说明了如何仅查询一个活动的数据。

要查询与同一项目关联的所有活动的数据,可以使用应用程序指标 API。为以下所需的参数指定值:

  • application-id – 项目 ID,它是项目的唯一标识符。在 Amazon Pinpoint 中,项目应用程序 具有相同的含义。

  • kpi-name – 要查询的指标的名称。此值描述了关联的指标并包含两个或两个以上的术语,这些术语由小写字母数字字符组成并由连字符分隔。有关受支持的指标及其 kpi-name 值的完整列表,请参阅项目、活动和旅程的标准指标

您也可以按日期范围筛选数据。如果未指定日期范围,则 Amazon Pinpoint 返回前 31 个日历日期间的数据。要按不同的日期筛选数据,请使用支持的日期范围参数指定日期范围的起始和截止日期和时间。这些值应采用扩展的 ISO 8601 格式,并使用协调世界时 (UTC),例如,2019-07-19T20:00:00Z 表示协调世界时 2019 年 7 月 19 日晚上 8 点。日期范围是包含性的,必须限制为不超过 31 个日历天。此外,起始日期和时间必须距离当前日期不到 90 天。

以下示例展示了如何使用 Amazon Pinpoint REST API AWS CLI、和,来查询广告活动的分析数据。 适用于 Java 的 AWS SDK您可以使用任何支持的 AWS SDK 来查询广告系列的分析数据。这些 AWS CLI 示例是针对微软 Windows 进行格式化的。对于 Unix、Linux 和 macOS,请将插入符号 (^) 行继续符替换为反斜杠 (\)。

REST API

要使用 Amazon Pinpoint REST API 查询多个活动的分析数据,请向应用程序指标 URI 发送 HTTP(S) GET 请求。在此 URI 中,为所需的路径参数指定适当的值:

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

其中:

  • endpoint是托管与活动关联的项目的 AWS 区域的 Amazon Pinpoint 终端节点。

  • application-id 是与活动关联的项目的唯一标识符。

  • kpi-name是要查询的指标的kpi-name值。

所有参数都应是 URL 编码的。

要应用一个筛选器来检索特定日期范围的数据,请将 start-timeend-time 查询参数和值附加到 URI。通过使用这些参数,您可采用扩展的 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-campaignendpoint 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-timeend-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-campaignendpoint deliveries, grouped by campaign 应用程序指标的 kpi-name 值,该指标按照每个活动返回消息送达到的唯一端点的数量。

  • 2019-07-19T00:00:00Z 是数据检索范围的第一个日期和时间(包含在检索日期范围内)。

  • 2019-07-26T23:59:59Z 是检索数据的截止日期和时间,也是包含性日期范围的一部分。

SDK for Java

要使用查询多个广告系列的分析数据 适用于 Java 的 AWS SDK,请使用应用指标 API GetApplicationDateRangeKpiRequest 的方法。为所需的参数指定相应的值:

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

其中:

  • applicationId 是与活动关联的项目的唯一标识符。

  • kpiName是要查询的指标的kpi-name值。

要应用一个筛选器来检索特定日期范围的数据,请将 startTimeendTime 参数和值包含在您的查询中。通过使用这些参数,您可采用扩展的 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-campaignendpoint deliveries, grouped by campaign 应用程序指标的 kpi-name 值,该指标按照每个活动返回消息送达到的唯一端点的数量。

  • 2019-07-19T00:00:00Z 是数据检索范围的第一个日期和时间(包含在检索日期范围内)。

  • 2019-07-26T23:59:59Z 是检索数据的截止日期和时间,也是包含性日期范围的一部分。

发送查询后,Amazon Pinpoint 在 JSON 响应中返回查询结果。结果的结构因您查询的指标而异。一些指标仅返回一个值。另一些指标返回多个值,并按相关字段对这些值进行分组。如果指标返回多个值,则 JSON 响应将包含一个字段,该字段指示对数据进行分组时所用的字段。

例如,上述示例中使用的 endpoint deliveries, grouped by campaign (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 查询结果