

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Création d'une tâche d'exportation de jeux de données dans Amazon Personalize
<a name="create-dataset-export-job"></a>

Vous pouvez créer une tâche d'exportation de jeux de données à l'aide de la console Amazon Personalize, AWS Command Line Interface (AWS CLI) ou AWS SDKs. 

## Création d'une tâche d'exportation de jeux de données (console)
<a name="export-data-console"></a>

Après avoir importé vos données dans un ensemble de données et créé un compartiment Amazon S3 en sortie, vous pouvez exporter les données vers le compartiment à des fins d'analyse. **Pour exporter un ensemble de données à l'aide de la console Amazon Personalize, vous devez créer une tâche d'exportation de jeu de données. Pour plus d'informations sur la création d'un compartiment Amazon S3, consultez la section [Création d'un compartiment](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) dans le *guide de l'utilisateur d'Amazon Simple Storage Service*.

Avant d'exporter un ensemble de données, assurez-vous que votre rôle de service Amazon Personalize peut accéder à votre compartiment Amazon S3 de sortie et y écrire. Consultez [Exigences relatives aux autorisations d'exportation de jeux de données](export-permissions.md). 

**Pour créer une tâche d'exportation d'un ensemble de données (console)**

1. Ouvrez la console Amazon Personalize à la [https://console.aws.amazon.com/personalize/maison](https://console.aws.amazon.com/personalize/home).

1. Dans le volet de navigation, sélectionnez **Groupes de jeux de données**.

1. Sur la page **Groupes de jeux de données**, choisissez votre groupe de jeux de données.

1. Dans le volet de navigation, sélectionnez **Datasets.**

1. Choisissez l'ensemble de données que vous souhaitez exporter vers un compartiment Amazon S3.

1.  Dans **Tâches d'exportation de jeux de données**, choisissez **Créer une tâche d'exportation de jeu** de données. 

1. Dans **Détails de la tâche d'exportation** de l'ensemble de **données, pour le nom de la tâche d'exportation** de l'ensemble de données, entrez le nom de la tâche d'exportation.

1. Pour le rôle de **service IAM, choisissez le rôle** de service Amazon Personalize que vous avez créé dans[Création d'un rôle IAM pour Amazon Personalize](set-up-required-permissions.md#set-up-create-role-with-permissions).

1. Pour le **chemin de sortie des données Amazon S3**, entrez le compartiment Amazon S3 de destination. Utilisez la syntaxe suivante :

   **s3://amzn-s3-demo-bucket/<folder path>**

1. Si vous utilisez AWS KMS pour le chiffrement, pour l'**ARN de la clé KMS**, entrez le nom de ressource Amazon (ARN) de la AWS KMS clé. 

1. Pour **Exporter le type de données**, choisissez le type de données à exporter en fonction de la façon dont vous avez initialement importé les données.
   +  Choisissez **Bulk** pour exporter uniquement les données que vous avez importées en bloc à l'aide d'une tâche d'importation de jeux de données. 
   + Choisissez **Incremental** pour exporter uniquement les données que vous avez importées individuellement à l'aide de la console ou `PutItems` des opérations `PutEvents``PutUsers`, ou. 
   + Choisissez **Les deux** pour exporter toutes les données de l'ensemble de données. 

1. Pour les **balises**, ajoutez éventuellement des balises. Pour plus d'informations sur le balisage des ressources Amazon Personalize, consultez[Marquer les ressources Amazon Personalize](tagging-resources.md).

1. Choisissez **Créer une tâche d'exportation de jeux de données**. 

   Sur la page **d'aperçu de** l'ensemble de **données, dans Tâches d'exportation** de l'ensemble de données, la tâche est répertoriée avec un **statut de tâche d'exportation**. La tâche d'exportation du jeu de données est terminée lorsque le statut est **ACTIF**. Vous pouvez ensuite télécharger les données depuis le compartiment Amazon S3 de sortie. Pour plus d'informations sur le téléchargement d'objets depuis un compartiment Amazon S3, consultez la section [Téléchargement d'un objet](https://docs.aws.amazon.com/AmazonS3/latest/userguide/download-objects.html) dans le *guide de l'utilisateur d'Amazon Simple Storage Service.* .

## Création d'une tâche d'exportation de jeux de données (AWS CLI)
<a name="export-data-cli"></a>

Après avoir importé vos données dans le jeu de données et créé un compartiment Amazon S3 en sortie, vous pouvez exporter l'ensemble de données vers le compartiment à des fins d'analyse. Pour exporter un ensemble de données à l'aide de AWS CLI, créez une tâche d'exportation d'ensemble de données à l'aide de la `create-dataset-export-job` AWS CLI commande. Pour plus d'informations sur la création d'un compartiment Amazon S3, consultez la section [Création d'un compartiment](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) dans le *guide de l'utilisateur d'Amazon Simple Storage Service*. 

Avant d'exporter un ensemble de données, assurez-vous que le rôle de service Amazon Personalize peut accéder à votre compartiment Amazon S3 de sortie et y écrire. Consultez [Exigences relatives aux autorisations d'exportation de jeux de données](export-permissions.md). 

 Voici un exemple de la commande `create-dataset-export-job` AWS CLI . Donnez un nom à la tâche, remplacez-le `dataset arn` par le nom de ressource Amazon (ARN) de l'ensemble de données que vous souhaitez exporter et remplacez-le `role ARN` par l'ARN du rôle de service Amazon Personalize dans lequel vous l'avez créé[Création d'un rôle IAM pour Amazon Personalize](set-up-required-permissions.md#set-up-create-role-with-permissions). Dans`s3DataDestination`, pour le`kmsKeyArn`, indiquez éventuellement l'ARN de votre AWS KMS clé, et pour le, `path` fournissez le chemin d'accès à votre compartiment Amazon S3 de sortie. 

 Pour`ingestion-mode`, spécifiez les données à exporter à partir des options suivantes : 
+  Spécifiez `BULK` de n'exporter que les données que vous avez importées en masse à l'aide d'une tâche d'importation de jeux de données. 
+  Spécifiez `PUT` de n'exporter que les données que vous avez importées individuellement à l'aide de la console ou `PutItems` des opérations `PutEvents` PutUsers, ou. 
+  Spécifiez `ALL` d'exporter toutes les données de l'ensemble de données. 

 Pour de plus amples informations, veuillez consulter [CreateDatasetExportJob](API_CreateDatasetExportJob.md). 

```
aws personalize create-dataset-export-job \
  --job-name job name \
  --dataset-arn dataset ARN \
  --job-output "{\"s3DataDestination\":{\"kmsKeyArn\":\"kms key ARN\",\"path\":\"s3://amzn-s3-demo-bucket/folder-name/\"}}" \
  --role-arn role ARN \
  --ingestion-mode PUT
```

L'ARN de la tâche d'exportation du jeu de données s'affiche.

```
{
  "datasetExportJobArn": "arn:aws:personalize:us-west-2:acct-id:dataset-export-job/DatasetExportJobName"
}
```

Utilisez cette `DescribeDatasetExportJob` opération pour vérifier l'état.

```
aws personalize describe-dataset-export-job \
  --dataset-export-job-arn dataset export job ARN
```

## Création d'une tâche d'exportation de jeux de données (AWS SDKs)
<a name="export-data-sdk"></a>

 Après avoir importé vos données dans le jeu de données et créé un compartiment Amazon S3 en sortie, vous pouvez exporter l'ensemble de données vers le compartiment à des fins d'analyse. Pour exporter un ensemble de données à l'aide de AWS SDKs, créez une tâche d'exportation d'ensemble de données à l'aide de l'[CreateDatasetExportJob](API_CreateDatasetExportJob.md)opération. Pour plus d'informations sur la création d'un compartiment Amazon S3, consultez la section [Création d'un compartiment](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) dans le *guide de l'utilisateur d'Amazon Simple Storage Service*. 

Le code suivant montre comment créer une tâche d'exportation de jeu de données à l'aide du SDK pour Python (Boto3) ou du SDK SDK pour Java 2.x.

Avant d'exporter un ensemble de données, assurez-vous que le rôle de service Amazon Personalize peut accéder à votre compartiment Amazon S3 de sortie et y écrire. Consultez [Exigences relatives aux autorisations d'exportation de jeux de données](export-permissions.md). 

------
#### [ SDK for Python (Boto3) ]

Utilisez ce qui suit `create_dataset_export_job` pour exporter les données d'un ensemble de données vers un compartiment Amazon S3. Donnez un nom à la tâche, remplacez-le `dataset arn` par le nom de ressource Amazon (ARN) de l'ensemble de données que vous souhaitez exporter et remplacez-le `role ARN` par l'ARN du rôle de service Amazon Personalize dans lequel vous l'avez créé[Création d'un rôle IAM pour Amazon Personalize](set-up-required-permissions.md#set-up-create-role-with-permissions). Dans`s3DataDestination`, pour le`kmsKeyArn`, indiquez éventuellement l'ARN de votre AWS KMS clé, et pour le, `path` fournissez le chemin d'accès à votre compartiment Amazon S3 de sortie. 

 Pour`ingestionMode`, spécifiez les données à exporter à partir des options suivantes : 
+ Spécifiez `BULK` de n'exporter que les données que vous avez importées en masse à l'aide d'une tâche d'importation de jeux de données. 
+ Spécifiez `PUT` de n'exporter que les données que vous avez importées individuellement à l'aide de la console ou `PutItems` des opérations `PutEvents` PutUsers, ou. 
+ Spécifiez `ALL` d'exporter toutes les données de l'ensemble de données.

```
import boto3

personalize = boto3.client('personalize')

response = personalize.create_dataset_export_job(
    jobName = 'job name',
    datasetArn = 'dataset ARN',
    jobOutput = {
      "s3DataDestination": {
        "kmsKeyArn": "kms key ARN",
        "path": "s3://amzn-s3-demo-bucket/folder-name/"
      }
    },
    roleArn = 'role ARN',
    ingestionMode = 'PUT'
)

dsej_arn = response['datasetExportJobArn']

print ('Dataset Export Job arn: ' + dsej_arn)

description = personalize.describe_dataset_export_job(
    datasetExportJobArn = dsej_arn)['datasetExportJob']

print('Name: ' + description['jobName'])
print('ARN: ' + description['datasetExportJobArn'])
print('Status: ' + description['status'])
```

------
#### [ SDK for Java 2.x ]

Utilisez la `createDatasetExportJob` méthode suivante pour créer une tâche d'exportation de jeu de données. Transmettez les paramètres suivants : a PersonalizeClient, le nom de votre tâche d'exportation, l'ARN du jeu de données que vous souhaitez exporter, le mode d'ingestion, le chemin du compartiment Amazon S3 de sortie et l'ARN de votre AWS KMS clé.

 Il `ingestionMode` peut s'agir de l'une des options suivantes : 
+ `IngestionMode.BULK`À utiliser pour exporter uniquement les données que vous avez importées en masse à l'aide d'une tâche d'importation de jeux de données. 
+ `IngestionMode.PUT`À utiliser pour exporter uniquement les données que vous avez importées individuellement à l'aide de la console ou `PutItems` des opérations `PutEvents` PutUsers, ou. 
+ Permet `IngestionMode.ALL` d'exporter toutes les données de l'ensemble de données.

```
public static void createDatasetExportJob(PersonalizeClient personalizeClient, 
                                        String jobName,
                                        String datasetArn, 
                                        IngestionMode ingestionMode, 
                                        String roleArn,
                                        String s3BucketPath,
                                        String kmsKeyArn) {

    long waitInMilliseconds = 30 * 1000; // 30 seconds
    String status = null;

    try {
        S3DataConfig exportS3DataConfig = S3DataConfig.builder()
            .path(s3BucketPath)
            .kmsKeyArn(kmsKeyArn)
            .build();
            
        DatasetExportJobOutput jobOutput = DatasetExportJobOutput.builder()
            .s3DataDestination(exportS3DataConfig)
            .build();

        CreateDatasetExportJobRequest createRequest = CreateDatasetExportJobRequest.builder()
            .jobName(jobName)
            .datasetArn(datasetArn)
            .ingestionMode(ingestionMode)
            .jobOutput(jobOutput)
            .roleArn(roleArn)
            .build();

        String datasetExportJobArn = personalizeClient.createDatasetExportJob(createRequest).datasetExportJobArn();

        DescribeDatasetExportJobRequest describeDatasetExportJobRequest = DescribeDatasetExportJobRequest.builder()
            .datasetExportJobArn(datasetExportJobArn)
            .build();

        long maxTime = Instant.now().getEpochSecond() + 3 * 60 * 60;

        while (Instant.now().getEpochSecond() < maxTime) {

            DatasetExportJob datasetExportJob = personalizeClient.describeDatasetExportJob(describeDatasetExportJobRequest)
                .datasetExportJob();

            status = datasetExportJob.status();
            System.out.println("Export job status: " + status);

            if (status.equals("ACTIVE") || status.equals("CREATE FAILED")) {
                break;
            }
            try {
                Thread.sleep(waitInMilliseconds);
            } catch (InterruptedException e) {
                System.out.println(e.getMessage());
            }
        }
    } catch (PersonalizeException e) {
        System.out.println(e.awsErrorDetails().errorMessage());
    }
}
```

------