终止支持通知: AWS 将于 2026 年 10 月 30 日终止对亚马逊 Pinpoint 的支持。2026 年 10 月 30 日之后,您将无法再访问亚马逊 Pinpoint 控制台或亚马逊 Pinpoint 资源(终端节点、区段、活动、旅程和分析)。有关更多信息,请参阅 Amazon Pinpoint 终止支持。注意: APIs 与短信相关、语音、移动推送、OTP 和电话号码验证不受此更改的影响,并受 AWS 最终用户消息的支持。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
查询多个活动的 Amazon Pinpoint 数据
可通过两种方式查询多个活动的数据。哪种方式最佳,这取决于您是否要查询均与同一项目关联的活动的数据。如果您要查询,则最佳方式还取决于您是要查询所有这些活动的数据,还是仅查询一部分活动的数据。
要查询与不同项目关联的活动的数据,或仅查询与同一项目关联的部分活动的数据,最佳方式是创建并运行一系列单独的查询,并且一个查询对应一个活动。上一部分说明了如何仅查询一个活动的数据。
要查询与同一项目关联的所有活动的数据,可以使用应用程序指标 API。为以下所需的参数指定值:
您也可以按日期范围筛选数据。如果未指定日期范围,则 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-time
和 end-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-campaign
是 endpoint 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
其中:
要应用一个筛选器来检索特定日期范围的数据,请将 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
是 endpoint 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
")
其中:
要应用一个筛选器来检索特定日期范围的数据,请将 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
是 endpoint 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 查询结果。