

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

# 设置批量导出所有统一的客户配置文件数据
<a name="set-up-bulk-export"></a>

**注意**  
要完成本主题中的步骤，您需要具备开发人员技能，并具备使用 AWS KMS Amazon S3 的经验。

当 Connect Customer Profiles 创建统一的客户档案时，它通过合并来自第一方和第三方来源的数据，对原始数据和信息进行增强、完善和改进，使其成为更准确的档案。Customer Profiles 还通过添加新数据来提高数据集的质量。您可以将改进后的数据集用于其他使用场景，例如制定更明智、更有针对性的营销、销售和客户服务策略。例如，您可能想使用统一的客户资料来：
+ 审查您在整个域中拥有的客户数据。
+ 例如，对销售和营销报告执行内部分析。
+ 将数据导出到您自己的工具或第三方产品中，以个性化广告和目标客户。

要将统一的客户档案数据用于其他用例，您可以将其批量导出到 Amazon S3。本主题将介绍如何操作。

**Topics**
+ [步骤 1：设置 KMS 密钥和 S3 存储桶](#enable-cpbulk-export)
+ [步骤 2：创建批量导出作业](#create-bulk-export-job)
+ [步骤 3：检查批量导出作业的状态](#check-status-bulk-cp-export)
+ [第 4 步：在 S3 中查看导出的数据](#view-bulk-cp-export)
+ [更新批量导出作业](#update-bulk-cp-export)
+ [删除或取消批量导出任务：不支持](#delete-bulk-cp-export)

## 步骤 1：设置 KMS 密钥和 S3 存储桶
<a name="enable-cpbulk-export"></a>

要启用域的批量导出，您需要设置以下资源：
+  [具有特定资源策略的 KMS 密钥](#cp-kms)
+ [具有特定资源策略的目标 S3 存储桶](#cp-s3-bulk)。请勿在存储桶上配置[访问控制列表（ACL)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acls.html)。

接下来将解释这些步骤。

### 创建新的 KMS 密钥或重复使用现有的 KMS 密钥
<a name="cp-kms"></a>

要设置用于批量导出的 KMS 密钥，您必须创建或重复使用现有 KMS 密钥，该密钥与您计划配置为批量导出目标的 Amazon S3 存储桶位于同一 AWS 区域。您必须允许 Connect 客户 AppIntegrations服务部门对密钥执行 KMS 操作。

将以下语句添加到**密钥政策**中。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "{{Enable AppIntegrations access to KMS key}}",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "{{arn:aws:iam::{{111122223333}}:root}}"
                ],
                "Service": [
                    "{{app-integrations.amazonaws.com}}"
                ]
            },
            "Action": [
                "kms:Encrypt*",
                "kms:Describe*",
                "kms:Decrypt*",
                "kms:GenerateDataKey*"
            ],
            "Resource": "*"
        }
    ]
}
```

------

### 设置 S3 目标存储桶
<a name="cp-s3-bulk"></a>

您必须在与 KMS 密钥相同的 AWS 区域中配置新的或现有存储桶，并在 S3 存储桶上配置资源策略。

配置存储桶时，请确保选择使用**加密 SSE-KMS并使用与**之前步骤相同的 KMS 密钥。此外，请勿在 S3 存储桶上启用 ACL。

以下是一个资源策略的示例。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "{{Allow AppIntegrations to write data to destination bucket}}",
            "Effect": "Allow",
            "Principal": {
                 "Service": [
                    "app-integrations.amazonaws.com"
                ]
            },
            "Action": [
                "s3:GetObject",
                "s3:ListBucket",
                "s3:PutObject",
                "s3:PutObjectAcl"
            ],
            "Resource": [
                "arn:aws:s3:::{{{{amzn-s3-demo-bucket1}}}}",
                "arn:aws:s3:::{{{{amzn-s3-demo-bucket2}}}}/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "{{AwsAccountId}}"
                },
                "ArnEquals": {
                    "aws:SourceArn": "arn:aws:*-*:{us-east-1}:{{AwsAccountId}}:data-integration/*" 
                }
            }
        }
    ]
}
```

------

## 步骤 2：创建批量导出作业
<a name="create-bulk-export-job"></a>

要创建批量导出任务，请调用以下 Connect 客户 AppIntegrations API：

1. [CreateDataIntegration](https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-app-integrations_CreateDataIntegration.html)：此 API 创建了与数据源（例如，客户档案）的集成。

1. [CreateDataIntegrationAssociation](https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-app-integrations_CreateDataIntegrationAssociation.html)：此 API 使用数据源将数据写入目标（例如 S3 存储桶）。

以下是有关如何调用这些 API 的更多信息。

### 创建数据集成
<a name="create-dataintegration"></a>

数据集成代表您的数据的*数据来源*。您可以调用 [CreateDataIntegration](https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-app-integrations_CreateDataIntegration.html)API 或运行 [create-data-integration CLI 命令来创建数据集成](https://docs.aws.amazon.com/cli/latest/reference/appintegrations/create-data-integration.html)。您必须提供 Customer Profiles *对象类型*和 Customer Profiles *域*。

如果您要导出多个对象类型，则需要为每个类型创建一个单独的数据集成。例如，如果您要同时导出两个 `_profile` 对象和 `_asset` 对象，则需要创建两个单独的数据集成。

**注意**  
导出时可能不包括在最近 30 分钟内摄取的任何数据。

以下代码示例显示了如何运行 [create-data-integration](https://docs.aws.amazon.com/cli/latest/reference/appintegrations/create-data-integration.html) CLI 命令。

```
aws appintegrations create-data-integration \ 
--region "us-west-2" \
--name "{{bulk-export-job-01}}" \ 
--description "{{Data integration for _profile objects}}" \
--kms-key "{{arn:aws:kms:us-west-2:123456789012:key/123456789012-1234-1234-123456789012}}" \ 
--source-uri "{{AmazonConnect://AppIntegrations}}" \ 
--object-configuration '{{{"CustomerProfiles":{"domainName":["my-domain-pdx"],"objectType":["_profile"]}}}}'
```

以下代码示例显示了如何调用 [CreateDataIntegration](https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-app-integrations_CreateDataIntegration.html)API。

```
{
    "Description": "{{Data integration for _profile objects}}",
    "KmsKey": "{{arn:aws:kms:us-west-2:123456789012:key/123456789012-1234-1234-123456789012}}",
    "Name": "{{unique-data-integration-name-01}}",
    "SourceURI": "AmazonConnect://AppIntegrations",
    "ObjectConfiguration": {
        "CustomerProfiles": {
            "domainName": [
                "{{my-domain-pdx}}"
            ],
            "objectType": [
                "_profile"
            ]
        }
    }
}
```

### 创建数据集成关联
<a name="create-dataintegration"></a>

数据集成关联表示您要导出数据的目的地，以及选择要导出的数据的时间范围。你可以调用 [CreateDataIntegrationAssociation](https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-app-integrations_CreateDataIntegrationAssociation.html)API 或运行 create-data-integr [ation-association CLI 命令来创建数据集成](https://docs.aws.amazon.com/cli/latest/reference/appintegrations/create-data-integration-association.html)。您可以使用 `StartTime` 和 `EndTime` 属性配置时间范围。此时间范围与 Customer Profiles 中对象的最后更新时间一致。

您指定的目标 S3 存储桶可以只是存储桶的名称，也可以包括您要导出数据的其他文件夹或 S3 前缀。

**注意**  
有关**合并批量导出作业**的配额，请参阅 [Connect Customer 客户档案服务配额](amazon-connect-service-limits.md#customer-profiles-quotas)。批量导出作业完成或失败后，不再计入合并配额。

以下代码示例显示了如何运行 [create-data-integration-association](https://docs.aws.amazon.com/cli/latest/reference/appintegrations/create-data-integration-association.html) CLI 命令。

```
aws appintegrations create-data-integration-association \
--region "us-west-2" \
--data-integration-identifier "{{unique-data-integration-name-01}}" \
--destination-uri "{{s3://{{amzn-s3-demo-bucket1}}}}" \
--execution-configuration '{{{"ExecutionMode": "ON_DEMAND", "OnDemandConfiguration": {"StartTime":"1715278292014", "EndTime":"1715364692014"}}}}'
```

以下代码示例显示了如何调用 [CreateDataIntegrationAssociation](https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-app-integrations_CreateDataIntegrationAssociation.html)API。

```
{
    "DataIntegrationIdentifier": "arn:aws:app-integrations:us-west-2:123456789012:data-integration/123456789012-1234-1234-123456789012",
    "DestinationURI": "s3://amzn-s3-demo-bucket1",
    "ExecutionConfiguration": {
        "ExecutionMode": "ON_DEMAND",
        "OnDemandConfiguration": {
            "StartTime": "1713565000004",
            "EndTime": "1713565000005"
        }
    }
}
```

## 步骤 3：检查批量导出作业的状态
<a name="check-status-bulk-cp-export"></a>

要查看批量导出任务的状态，您可以调用 [ListDataIntegrationAssociations](https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-app-integrations_ListDataIntegrationAssociations.html)API 或运行 li [st-data-integration-associations CL](https://docs.aws.amazon.com/cli/latest/reference/appintegrations/list-data-integration-associations.html) I 命令。

以下代码示例显示了如何运行 [list-data-integration-associations](https://docs.aws.amazon.com/cli/latest/reference/appintegrations/list-data-integration-associations.html) CLI 命令。

```
aws appintegrations list-data-integration-associations \
--region "us-west-2" \
--data-integration-identifier "{{unique-data-integration-name-01}}"
```

## 第 4 步：在 S3 中查看导出的数据
<a name="view-bulk-cp-export"></a>

当数据集成关联处于 `IN_PROGRESS` 状态时，您将开始看到数据被复制到您的 S3 存储桶。

导出的数据使用以下路径结构写入：
+ {BucketNameAndFolderName}
  + {AwsAccountId}
    + {DomainName}
      + {RequestTimestamp}
        + {lStartTime}-{EndTime}
          + {ObjectTypeName}
            + <filename: uuid>

以下是一个路径示例：

`amzn-s3-demo-bucket1/123456789012/my-domain-pdx/20240607T175023/20240101T235959-20240430T235959/_profile/123456789012-1234-1234-123456789012`

## 更新批量导出作业
<a name="update-bulk-cp-export"></a>

作业完成后，您可以使用不同的数据摄取开始时间和数据摄取结束时间更新数据集成关联。这样就创建了一个新的批量导出作业。如果您过去执行过批量导出，并且只想导出上次导出后更新的数据，则可能需要这样做。例如，如果您上一次批量导出作业是在三个月前，则可以将数据集成关联更新为 3 个月前到今天的时间范围。

您可以调用 [UpdateDataIntegrationAssociation](https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-app-integrations_UpdateDataIntegrationAssociation.html)API 或运行 update-[data-integration-association CLI 命令来更新](https://docs.aws.amazon.com/cli/latest/reference/appintegrations/update-data-integration-association.html)导出作业。

以下代码示例显示了如何运行 [update-data-integration-association](https://docs.aws.amazon.com/cli/latest/reference/appintegrations/update-data-integration-association.html) CLI 命令。

```
aws appintegrations update-data-integration-association \
--region "us-west-2" \
--data-integration-identifier "{{unique-data-integration-name-01}}" \
--data-integration-association-identifier "{{arn:aws:app-integrations:us-west-2:123456789012:data-integration-association/123456789012-1234-1234-123456789012/123456789012-1234-1234-123456789012}}" \ 
--execution-configuration '{{{"ExecutionMode": "ON_DEMAND", "OnDemandConfiguration": {"StartTime":"1715278292014", "EndTime":"1715364692014"}}}}'
```

## 删除或取消批量导出任务：不支持
<a name="delete-bulk-cp-export"></a>

您无法删除或取消批量导出。导出作业完成后，将不再计入导出配额。