

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Configuración de la exportación masiva de todos los datos unificados del perfil de cliente
<a name="set-up-bulk-export"></a>

**nota**  
Para completar los pasos de este tema, debe tener conocimientos de desarrollador y experiencia en el uso AWS KMS de Amazon S3.

Cuando Perfiles de clientes de Amazon Connect crea un perfil de cliente unificado, mejora, refina y mejora los datos y la información sin procesar para convertirlos en un perfil más preciso al combinar datos de fuentes propias y de terceros. Perfiles de clientes también mejora la calidad de los conjuntos de datos mediante la incorporación de nuevos datos. Puede utilizar los conjuntos de datos mejorados para otros casos de uso, por ejemplo, para formular estrategias de marketing, ventas y servicio al cliente más fundamentadas y específicas. Por ejemplo, tal vez desee aprovechar el perfil de cliente unificado para: 
+ auditar los datos de los clientes que tiene en la totalidad de un dominio,
+ realizar análisis internos, por ejemplo, para los informes de ventas y marketing,
+ exportar los datos a sus propias herramientas o a productos de terceros para personalizar los anuncios y segmentar los clientes.

Para aprovechar los datos unificados del perfil del cliente para otros casos de uso, puede exportarlos de forma masiva a Amazon S3. En este tema, se explica cómo hacerlo.

**Topics**
+ [Paso 1: configurar una clave de KMS y un bucket de S3](#enable-cpbulk-export)
+ [Paso 2: crear un trabajo de exportación masiva](#create-bulk-export-job)
+ [Paso 3: comprobar el estado de un trabajo de exportación masiva](#check-status-bulk-cp-export)
+ [Paso 4: ver los datos exportados en S3](#view-bulk-cp-export)
+ [Actualización del trabajo de exportación masiva](#update-bulk-cp-export)
+ [Eliminación o cancelación del trabajo de exportación masiva (no se admite)](#delete-bulk-cp-export)

## Paso 1: configurar una clave de KMS y un bucket de S3
<a name="enable-cpbulk-export"></a>

Para habilitar la exportación masiva de su dominio, tiene que configurar los recursos siguientes:
+  [Una clave de KMS con una política de recursos específica](#cp-kms)
+ [Un bucket de S3 de destino con una política de recursos específica](#cp-s3-bulk). No configure [las listas de control de acceso (ACLs)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acls.html) en el bucket.

Estos pasos se explican a continuación.

### Creación de una nueva clave KMS o reutilización de una clave KMS existente
<a name="cp-kms"></a>

Para configurar una clave de KMS para la exportación masiva, debe crear o reutilizar una clave de KMS existente que se encuentre en la misma AWS región que el bucket de Amazon S3 que planea configurar como destino de exportación masiva. Debe permitir que el AppIntegrations servicio Amazon Connect realice acciones de KMS para la clave. 

Añada la siguiente declaración a la ** política de claves**.

------
#### [ 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": "*"
        }
    ]
}
```

------

### Configuración de un bucket de destino de S3
<a name="cp-s3-bulk"></a>

Debe configurar un bucket nuevo o existente en la misma AWS región que la clave de KMS y configurar una política de recursos en el bucket de S3. 

Al configurar el bucket, asegúrese de seleccionar **Cifrado con SSE-KMS** y de utilizar la misma clave de KMS del procedimiento anterior. Además, no la habilite ACLs en el bucket de S3.

A continuación, se muestra un ejemplo de la política de recursos.

------
#### [ 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/*" 
                }
            }
        }
    ]
}
```

------

## Paso 2: crear un trabajo de exportación masiva
<a name="create-bulk-export-job"></a>

Para crear un trabajo de exportación masiva, invoca el siguiente Amazon Connect AppIntegrations APIs:

1. [CreateDataIntegration](https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-app-integrations_CreateDataIntegration.html): Esta API crea una integración con la fuente de datos (por ejemplo, los perfiles de los clientes).

1. [CreateDataIntegrationAssociation](https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-app-integrations_CreateDataIntegrationAssociation.html): Esta API escribe datos en el destino (por ejemplo, un bucket de S3) mediante la fuente de datos. 

A continuación encontrará más información sobre cómo llamarlos APIs. 

### Creación de una integración de datos
<a name="create-dataintegration"></a>

Una integración de datos representa el *origen de datos* de sus datos. Puede llamar a la [CreateDataIntegration](https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-app-integrations_CreateDataIntegration.html)API o ejecutar el comando [create-data-integration](https://docs.aws.amazon.com/cli/latest/reference/appintegrations/create-data-integration.html)CLI para crear una integración de datos. Debe proporcionar un *tipo de objeto* de Perfiles de clientes y un *dominio* de Perfiles de clientes. 

Si desea exportar varios tipos de objetos, debe crear una integración de datos aparte para cada uno de ellos. Por ejemplo, si desea exportar los objetos `_profile` y `_asset`, debe crear dos integraciones de datos independientes.

**nota**  
Es posible que los datos ingeridos en los últimos 30 minutos no se incluyan en la exportación.

El siguiente ejemplo de código muestra cómo ejecutar el comando [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"]}}}}'
```

En el siguiente ejemplo de código se muestra cómo llamar a la [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"
            ]
        }
    }
}
```

### Creación de una asociación de integración de datos
<a name="create-dataintegration"></a>

Una asociación de integración de datos representa el destino al que desea exportar los datos y un intervalo de tiempo para elegir qué datos exportar. Puede llamar a la [CreateDataIntegrationAssociation](https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-app-integrations_CreateDataIntegrationAssociation.html)API o ejecutar el comando [create-data-integration-association](https://docs.aws.amazon.com/cli/latest/reference/appintegrations/create-data-integration-association.html)CLI para crear una integración de datos. El intervalo de tiempo se configura con las propiedades `StartTime` y `EndTime`. Este intervalo de tiempo se corresponde con el momento en que los objetos se actualizaron por última vez en Perfiles de los clientes.

El bucket de S3 de destino que especifique puede ser solo el nombre del bucket o puede incluir una carpeta adicional o un prefijo de S3 al que desee que se exporten los datos.

**nota**  
Para conocer la cuota de **trabajos de exportación masiva simultánea**, consulte [Connect Customer Perfiles de clientes, cuotas de servicio](amazon-connect-service-limits.md#customer-profiles-quotas). Una vez que se complete o falle un trabajo de exportación en bloque, ya no se tendrá en cuenta para la cuota de simultaneidad.

El siguiente ejemplo de código muestra cómo ejecutar el comando [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"}}}}'
```

En el siguiente ejemplo de código se muestra cómo llamar a la [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"
        }
    }
}
```

## Paso 3: comprobar el estado de un trabajo de exportación masiva
<a name="check-status-bulk-cp-export"></a>

Para ver el estado de su trabajo de exportación masiva, puede llamar a la [ListDataIntegrationAssociations](https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-app-integrations_ListDataIntegrationAssociations.html)API o ejecutar el comando [list-data-integration-associations](https://docs.aws.amazon.com/cli/latest/reference/appintegrations/list-data-integration-associations.html)CLI. 

El siguiente ejemplo de código muestra cómo ejecutar el comando [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}}"
```

## Paso 4: ver los datos exportados en S3
<a name="view-bulk-cp-export"></a>

Cuando la asociación de integración de datos esté activa en `IN_PROGRESS`, empezará a ver cómo se copian los datos en el bucket de S3.

Los datos exportados se escriben con la siguiente estructura de rutas:
+ {BucketNameAndFolderName}
  + {AwsAccountId}
    + {DomainName}
      + {RequestTimestamp}
        + {lStartTime}-{EndTime}
          + {ObjectTypeName}
            + <filename: uuid>

A continuación, se muestra un ejemplo de una ruta.

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

## Actualización del trabajo de exportación masiva
<a name="update-bulk-cp-export"></a>

Una vez finalizado el trabajo, puede actualizar la asociación de integración de datos especificando horas diferentes para el inicio y la finalización de la extracción de datos. Con ello, se crea un nuevo trabajo de exportación masiva. Tal vez desee hacerlo si ha realizado una exportación masiva en el pasado y solo desea exportar los datos que se hayan actualizado desde la exportación anterior. Por ejemplo, si el último trabajo de exportación masiva se hizo hace tres meses, puede actualizar la asociación de integración de datos con un intervalo de tiempo comprendido entre hace tres meses y el día de hoy.

Puede llamar a la [UpdateDataIntegrationAssociation](https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-app-integrations_UpdateDataIntegrationAssociation.html)API o ejecutar el comando [update-data-integration-association](https://docs.aws.amazon.com/cli/latest/reference/appintegrations/update-data-integration-association.html)CLI para actualizar el trabajo de exportación. 

El siguiente ejemplo de código muestra cómo ejecutar el comando [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"}}}}'
```

## Eliminación o cancelación del trabajo de exportación masiva (no se admite)
<a name="delete-bulk-cp-export"></a>

No puede eliminar ni cancelar la exportación masiva. Una vez finalizado un trabajo de exportación, ya no cuenta para la cuota de exportación. 