

**终止支持通知：** AWS 将于 2026 年 10 月 30 日终止对亚马逊 Pinpoint 的支持。2026 年 10 月 30 日之后，您将不再能够访问 Amazon Pinpoint 控制台或 Amazon Pinpoint 资源（端点、分段、活动、旅程和分析）。有关更多信息，请参阅 [Amazon Pinpoint 终止支持](https://docs.aws.amazon.com/console/pinpoint/migration-guide)。**注意：** APIs 与短信相关、语音、移动推送、OTP 和电话号码验证不受此更改的影响，并受 AWS 最终用户消息的支持。

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

# 导入客户细分
<a name="segments-importing"></a>

使用 Amazon Pinpoint，您可以定义一个用户客户细分，方法是导入包含有关属于客户细分的用户的信息的文件。如果您在 Amazon Pinpoint 之外定义用户客户细分，但又想通过 Amazon Pinpoint 活动吸引用户，则导入客户细分非常有用。

与您在控制台中使用区段生成器创建的动态区段不同，导入的区段是一组不变的*端点*或*用户 IDs*：

**端点**  
可以向其发送消息的目的地，如电子邮件地址、移动设备标识符或移动电话号码。端点定义可以包括描述您向其发送消息的用户或设备的属性。也可以包括用户 ID。  
可以通过导入端点定义列表来定义客户细分。Amazon Pinpoint 创建客户细分，并用新的信息来更新之前您添加到 Amazon Pinpoint 的任何端点。

**用户 ID**  
代表受众中单个用户的 ID。此 ID 必须分配给一个或多个端点。例如，如果某个人员在多个设备上使用您的应用程序，则您的应用程序可将此人员的用户 ID 分配给每个设备的端点。  
 IDs 只有将与用户关联的终端节点添加到 Amazon Pinpoint 后，您才能通过导入用户 IDs 来定义区段。

导入的区段由端点 IDs、用户或两者的组合组成。使用 Amazon Pinpoint 向客户细分发送消息时，可能的目的地包括：
+ 导入文件中所列的每个端点。
+ 与导入文件中所列的每个用户 ID 关联的每个端点。

创建新客户细分时，您可以使用一个导入客户细分作为基本客户细分。然后，您可以对该基本客户细分应用筛选条件，以根据您的需求对其进行优化。

## 导入客户细分注意事项
<a name="segments-importing-considerations"></a>

创建导入客户细分时，请考虑以下因素：
+ 当您创建活动时，必须选择一个客户细分。当您选择动态客户细分时，Amazon Pinpoint 提供该客户细分大小的估计值。但是，当您选择导入的客户细分时，Amazon Pinpoint 无法提供估计值。
+ 如果您创建一个当发生某些事件时发送消息的活动，您不能使用导入客户细分。基于事件的活动只能使用动态客户细分。有关创建动态客户细分的更多信息，请参阅[构建客户细分](segments-building.md)。

## 客户细分文件
<a name="segments-importing-examples-files"></a>

您可以在逗号分隔值 (CSV) 或 JSON 文件中定义属于您的区段的终端节点或用户 IDs 。然后，将此文件导入 Amazon Pinpoint 来创建客户细分。

导入客户细分时，请记住以下几点：
+ Amazon Pinpoint 无法导入压缩的文件。
+ 您导入的文件必须使用 UTF-8 字符编码。
+ 如果要导入新的端点，`Address` 和 `ChannelType` 属性是必需的。
+ 如果要更新现有的端点，则 `Id` 属性对于要更新的每个端点都是必需的。
+ 您的端点定义只能包含特定属性。有关列表，请参阅[支持的 属性](#segments-importing-available-attributes)。此外，属性名称必须为 50 个或更少的字符。属性值必须为 100 个或更少的字符。

### 示例客户细分文件
<a name="segments-importing-examples"></a>

本节中的示例文件基于以下数据：


**示例端点属性值**  

| ChannelType | 地址 | Location.Country | Demographic.Platform | Demographic.Make | 用户。 UserId | 
| --- | --- | --- | --- | --- | --- | 
| SMS | \+16045550182 | CA | Android | LG | example-user-id-1 | 
| APNS | 1a2b3c4d5e6f7g8h9i0j1a2b3c4d5e6f | 美国 | iOS | Apple | example-user-id-2 | 
| EMAIL | john.stiles@example.com | 美国 | iOS | Apple | example-user-id-2 | 
| GCM | 4d5e6f1a2b3c4d5e6f7g8h9i0j1a2b3c | CN | Android | Google | example-user-id-3 | 
| EMAIL | wang.xiulan@example.com | CN | Android | OnePlus | example-user-id-3 | 

此表中的每一行代表一个端点。请注意，用户 IDs`example-user-id-2`和`example-user-id-3`分别分配给两个端点。

**Example 包含端点定义的文件**  
您可以导入在 CSV 文件中定义的端点，如以下示例中所示：  

```
ChannelType,Address,Location.Country,Demographic.Platform,Demographic.Make,User.UserId
SMS,+16045550182,CA,Android,LG,example-user-id-1
APNS,1a2b3c4d5e6f7g8h9i0j1a2b3c4d5e6f,US,iOS,Apple,example-user-id-2
EMAIL,john.stiles@example.com,US,iOS,Apple,example-user-id-2
GCM,4d5e6f1a2b3c4d5e6f7g8h9i0j1a2b3c,CN,Android,Google,example-user-id-3
EMAIL,wang.xiulan@example.com,CN,Android,OnePlus,example-user-id-3
```
第一行是标头，其中包含端点属性。有关可能属性的完整列表，请参阅 [支持的 属性](#segments-importing-available-attributes)。  
后续行通过为标头中的每个属性提供值来定义端点。  
要在值中包含逗号或双引号，请将值括在双引号内，如 `"aaa,bbb"`。  
CSV 文件不能包含换行符或制表符。如果您的文件包含带有换行符或制表符的数据，则文件中的数据可能无法导入，或者导入过程可能会失败。
您可以导入在新行分隔的 JSON 文件中定义的端点。在此格式中，每一行都是一个完整的 JSON 对象，其中包含单独的端点定义，如以下示例中所示：  

```
{"ChannelType":"SMS","Address":"+16045550182","Location":{"Country":"CA"},"Demographic":{"Platform":"Android","Make":"LG"},"User":{"UserId":"example-user-id-1"}}
{"ChannelType":"APNS","Address":"1a2b3c4d5e6f7g8h9i0j1a2b3c4d5e6f","Location":{"Country":"US"},"Demographic":{"Platform":"iOS","Make":"Apple"},"User":{"UserId":"example-user-id-2"}}
{"ChannelType":"EMAIL","Address":"john.stiles@example.com","Location":{"Country":"US"},"Demographic":{"Platform":"iOS","Make":"Apple"},"User":{"UserId":"example-user-id-2"}}
{"ChannelType":"GCM","Address":"4d5e6f1a2b3c4d5e6f7g8h9i0j1a2b3c","Location":{"Country":"CN"},"Demographic":{"Platform":"Android","Make":"Google"},"User":{"UserId":"example-user-id-3"}}
{"ChannelType":"EMAIL","Address":"wang.xiulan@example.com","Location":{"Country":"CN"},"Demographic":{"Platform":"Android","Make":"OnePlus"},"User":{"UserId":"example-user-id-3"}}
```
有关可能属性的完整列表，请参阅 [支持的 属性](#segments-importing-available-attributes)。

## 导入客户细分
<a name="segments-importing-procedure"></a>

将客户细分导入 Amazon Pinpoint 有两种办法：一是直接从计算机上传文件，二是导入存储在 Amazon Simple Storage Service（Amazon S3）存储桶中的文件。

建议您从计算机上传文件，当计算机上已有客户数据时尤其要这样做。但是，您一次只能导入 10 个文件，并且只能上传小于 1 GB 的文件。

如果您需要一次导入 10 个以上的文件，或者需要上传大于 1 GB 的文件，则应从 Amazon S3 导入文件。如果您已经具有将客户数据文件发送到 Amazon S3 以进行存储的流程，则 Amazon S3 导入选项也很有用。

此部分包含使用这两种方法导入客户细分的过程。

### 通过从您的计算机上传文件来导入客户细分
<a name="segments-importing-procedure-direct-import"></a>

您可以通过直接从计算机最多上传 10 个文件来创建客户细分。上传的文件可以采用 CSV 或 JSON 格式。您可以上传采用这两种格式的任意组合的文件。例如，您可以上传一个 JSON 文件和三个 CSV 文件。

**导入客户细分**

1. 打开亚马逊 Pinpoint 控制台，网址为。[https://console.aws.amazon.com/pinpoint/](https://console.aws.amazon.com/pinpoint/)

1. 在**所有项目**页面上，选择要将客户细分添加到的项目。

1. 在导航窗格中，选择**客户细分**。

1. 选择**创建客户细分**。

1. 在**创建客户细分**下，选择**导入客户细分**。

1. 在**导入方法**下，选择**从计算机上传文件**。

1. 在**要导入的文件**下，选择**选择文件**。选择要导入的一个或多个文件。
**注意**  
您也可以直接将文件从计算机的文件资源管理器拖放到**将文件拖放到此处**区域。

1. 当您将文件上传到 Amazon Pinpoint 时，必须为每个导入的文件提供一个客户细分名称。在**客户细分名称**下，输入要导入的每个文件的客户细分名称。

   默认情况下，Amazon Pinpoint 提供一个客户细分名称，该名称就是导入的文件的名称，但不带文件扩展名。您可以将这些默认值更改为任何名称。  
![显示客户细分创建页面上的“客户细分名称”部分。用户已上传两个文件：High Value Customers.csv 和 Top Users by Activity.json。](http://docs.aws.amazon.com/zh_cn/pinpoint/latest/userguide/images/segments-import-names.png)
**注意**  
您可以对多个客户细分使用相同名称。如果您这样做，Amazon Pinpoint 会为每个文件创建不同的客户细分，并为每个文件分配唯一 ID。对于导入的每个文件，创建日期也略有不同。您可以使用这些因素来区分同名的客户细分。

1. 完成后，选择**创建客户细分**。

### 从存储在 Amazon S3 中的文件导入客户细分
<a name="segments-importing-procedure-s3-import"></a>

在使用此过程导入客户细分之前，您必须先创建一个 Amazon S3 存储桶并将您的文件上传到该存储桶。您可以将不同客户细分的文件组织在不同的文件夹中。当 Amazon Pinpoint 导入分段 IDs 的终端节点或用户时，它包括属于您指定的 Amazon S3 位置的所有文件夹和子文件夹中的文件。

有关创建存储桶和上传对象的介绍，请参阅《Amazon Simple Storage Service 用户指南》中的[什么是 Amazon S3？](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html)

Amazon Pinpoint 只能为每个客户细分导入一种文件格式（CSV 或 JSON），因此您指定的 Amazon S3 路径应只包含单一类型的文件。

**导入客户细分**

1. 打开亚马逊 Pinpoint 控制台，网址为。[https://console.aws.amazon.com/pinpoint/](https://console.aws.amazon.com/pinpoint/)

1. 在**所有项目**页面上，选择要将客户细分添加到的项目。

1. 在导航窗格中，选择**客户细分**。

1. 选择**创建客户细分**。

1. 在**创建客户细分**下，选择**导入客户细分**。

1. 对于**客户细分名称**，输入客户细分的名称。

1. 对于 **Amazon S3 URL**，输入包含您的客户细分文件的 Amazon S3 存储桶的位置。此存储桶的地址必须采用以下格式：

   ```
   s3://{{bucket-name}}/{{folder-name}}
   ```

   Amazon Pinpoint 从您指定的路径以及该路径中的任意子文件夹导入文件。

1. 对于 **IAM 角色**，请完成下列步骤之一：
   + 如果您想让 Amazon Pinpoint 创建一个角色，以允许它从 Amazon S3 存储桶读取，则选择**自动创建角色**。然后，对于 **IAM 角色**，为您创建的角色输入一个名称。
   + 如果您已创建允许 Amazon Pinpoint 从 Amazon S3 存储桶读取的 IAM 角色，则选择**选择现有角色**。然后，对于 **IAM 角色**，请选择一个包含相应权限的角色。

   如果您要自己创建 IAM 角色，请参阅《Amazon Pinpoint 开发者指南》中的[用于导入端点或客户细分的 IAM 角色](https://docs.aws.amazon.com/pinpoint/latest/developerguide/permissions-import-segment.html)**。创建角色之后，在 Amazon Pinpoint 控制台中指定它。

1. 在 “要**导入的文件类型” 下，根据您**上传到 Amaz **on S3 的文件格式，选择JavaScript 对象表示法 (JSON)** **或逗号分隔值 (CSV)**。

1. 选择**创建客户细分**。

## 支持的 属性
<a name="segments-importing-available-attributes"></a>

本节中的表列出并描述了您可以在导入到 Amazon Pinpoint 的端点定义中指定的属性。如果您通过使用 CSV 文件导入客户细分，则文件中的标头应该与**属性**列中显示的名称匹配。

对于 JSON 文件，属性名称中的句点指示句点后的名称是嵌套在父对象中的对象，而父对象的名称就是句点之前的值。例如，包含 `Demographic.Make` 和 `Demographic.Model` 属性的 JSON 文件具有以下结构：

```
{
...
"Demographic": {
  ...
  "Make":"Apple",
  "Model":"iPhone"
  ...
  }
...
}
```

完整 JSON 结构非常类似于《Amazon Pinpoint API 参考》中的[示例端点请求](https://docs.aws.amazon.com/pinpoint/latest/apireference/apps-application-id-endpoints-endpoint-id.html#apps-application-id-endpoints-endpoint-id-schemas)**。但是，但您导入客户细分时，并非端点请求架构中的所有属性都受支持，包括 `EndpointStatus` 和 `EffectiveDate`。

要使一个自定义字段包含 CSV 文件中的多个值，您必须复制标头并为每个标头保留一个值。例如：

```
...,User.UserId, User.UserAttributes.new_multi_field,User.UserAttributes.new_multi_field
...,example-user-id-2,test10,test20
```

您可以将显示为 `{{custom_attribute}}` 的属性名称替换为任意值。例如，如果要将用户的名和姓存储在名为 `FirstName` 和 `LastName` 的属性中，则可以分别创建名为 `User.UserAttributes.FirstName` 和 `User.UserAttributes.LastName` 的自定义属性。属性名称最多可包含 50 个字符。属性值最多可包含 100 个字符。属性名称区分大小写。

在 JSON 中，自定义属性必须采用 `"Attributes":{"Ride":["Bus"]}` 格式。


| 属性 | 说明 | 
| --- | --- | 
| 时区 | 重新映射时区 | 
| --- | --- | 
| Address | 您发送到端点的消息或推送通知的唯一目标地址，例如电子邮件地址、电话号码或设备令牌。 如果端点地址是一个电话号码，则必须以 E.164 格式指定。有关 E.164 格式的更多信息，请参阅维基百科上的 [E.164](https://en.wikipedia.org/wiki/E.164)。  | 
| Attributes.{{custom\_attribute}} | 描述端点的自定义属性。创建客户细分时，您可以使用此类属性作为选择标准。您可以使用任意值替换 {{custom\_attribute}}。 | 
| ChannelType | 向端点发送消息或推送通知时使用的渠道。例如：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/pinpoint/latest/userguide/segments-importing.html) | 
| Demographic.AppVersion | 与端点关联的应用程序的版本号。 | 
| Demographic.Locale | 端点的区域设置，格式如下：[ISO 639-1 alpha-2](https://en.wikipedia.org/wiki/ISO_639-1) 代码，后跟下划线 (\_)，然后是 [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) 值。例如，en\_US 是美国英语区域设置。 | 
| Demographic.Make | 端点设备的制造商，例如 apple 或 samsung。 | 
| Demographic.Model | 端点设备的产品名称或型号，例如 iPhone 或 SM-G900F。 | 
| Demographic.ModelVersion | 端点设备的型号版本。 | 
| Demographic.Platform | 端点设备上的操作系统，例如 ios 或 android。 | 
| Demographic.PlatformVersion | 端点设备上的操作系统版本。 | 
| Demographic.Timezone | 端点的时区，采用 [tz 数据库](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)值。例如，America/Los\_Angeles 表示太平洋时间（北美）。以下时区不再受支持，并且会自动重新映射到支持的时区。 [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/pinpoint/latest/userguide/segments-importing.html) | 
| EffectiveDate | 上次更新端点的日期和时间，采用 [ISO 8601 格式](https://en.wikipedia.org/wiki/ISO_8601)。例如，2019-08-23T10:54:35.220Z 表示 UTC 2019 年 8 月 23 日 10:54 AM。 | 
| Id | 端点的唯一标识符。 | 
| Location.City | 端点所在的城市。 | 
| Location.Country | 两个字符的代码，采用 [ISO 3166-1 alpha-2 格式](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)，表示端点所在的国家/地区或区域。例如，US 表示美国。 | 
| Location.Latitude | 端点位置的纬度坐标，舍入到一位小数。 | 
| Location.Longitude | 端点位置的经度坐标，舍入到一位小数。 | 
| Location.PostalCode | 端点所在区域的邮政编码。 | 
| Location.Region | 端点所在区域的名称，例如，省/市/自治区。 | 
| Metrics.{{custom\_attribute}} | 您的应用程序向 Amazon Pinpoint 报告的有关端点的自定义数值指标（例如，会话次数或购物车中剩余的商品数量），用于客户细分目的。您可以使用任意值替换 {{custom\_attribute}}。这些自定义值只能为数字。由于它们是数字，所以 Amazon Pinpoint 可以对其执行算术运算，例如求平均值或求和。 | 
| OptOut | 指示用户是否选择不接收您的消息和推送通知。可接受的值为：ALL，用户选择退出，不希望接收任何消息或推送通知；或 NONE，用户未选择退出，希望接收所有消息和推送通知。 | 
| RequestId | 最近更新端点请求的唯一标识符。 | 
| User.UserAttributes.{{custom\_attribute}} | 描述用户的自定义属性。您可以使用任意值替换 {{custom\_attribute}}，例如 FirstName 或 Age。 | 
| User.UserId | 用户的唯一标识符。 | 
| Canada/East-Saskatchewan  | America/Managua | 
| US/Pacific-New  | America/Los\_Angeles | 

您可以为每个项目中的端点和用户创建多达 250 个自定义属性。有关更多信息，请参阅《Amazon Pinpoint 开发者指南》**中的 [Amazon Pinpoint 限额](https://docs.aws.amazon.com/pinpoint/latest/developerguide/quotas.html)。