

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Creazione di un processo di esportazione di set di dati in Amazon Personalize
<a name="create-dataset-export-job"></a>

Puoi creare un processo di esportazione di set di dati con la console Amazon Personalize AWS Command Line Interface ,AWS CLI(), oppure. AWS SDKs 

## Creare un processo di esportazione del set di dati (console)
<a name="export-data-console"></a>

Dopo aver importato i dati in un set di dati e creato un bucket Amazon S3 di output, puoi esportare i dati nel bucket per l'analisi. **Per esportare un set di dati utilizzando la console Amazon Personalize, crei un processo di esportazione del set di dati. Per informazioni sulla creazione di un bucket Amazon S3, consulta [Creating a bucket nella](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) *Amazon Simple Storage* Service User Guide.

Prima di esportare un set di dati, assicurati che il ruolo del servizio Amazon Personalize possa accedere e scrivere sul bucket Amazon S3 di output. Per informazioni, consulta [Requisiti per le autorizzazioni dei lavori di esportazione del set di dati](export-permissions.md). 

**Per creare un processo di esportazione del set di dati (console)**

1. [Apri la console Amazon Personalize a casahttps://console.aws.amazon.com/personalize/.](https://console.aws.amazon.com/personalize/home)

1. Nel riquadro di navigazione, scegli Gruppi di **set** di dati.

1. Nella pagina **Gruppi di set** di dati, scegli il tuo gruppo di set di dati.

1. **Nel riquadro di navigazione, scegli Datasets.**

1. Scegli il set di dati che desideri esportare in un bucket Amazon S3.

1.  In Processi di esportazione di **set di dati, scegli **Crea** processo di esportazione** del set di dati. 

1. In **Dettagli del lavoro di esportazione del set** di dati, per Nome del **lavoro di esportazione del set di dati, inserisci un nome** per il lavoro di esportazione.

1. Per il **ruolo di servizio IAM**, scegli il ruolo di servizio Amazon Personalize in cui hai creato. [Creazione di un ruolo IAM per Amazon Personalize](set-up-required-permissions.md#set-up-create-role-with-permissions)

1. Per il **percorso di output dei dati di Amazon S3**, inserisci il bucket Amazon S3 di destinazione. Utilizzare la seguente sintassi:

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

1. Se utilizzi AWS KMS per la crittografia, per la **chiave KMS ARN**, inserisci l'Amazon Resource Name (ARN) per la chiave. AWS KMS 

1. Per **Esporta tipo di dati**, scegli il tipo di dati da esportare in base a come hai originariamente importato i dati.
   +  Scegli **Bulk** per esportare solo i dati che hai importato in blocco utilizzando un processo di importazione del set di dati. 
   + Scegli **Incrementale** per esportare solo i dati che hai importato singolarmente utilizzando la console o le operazioni`PutEvents`, `PutUsers` o. `PutItems` 
   + Scegli **Entrambi** per esportare tutti i dati nel set di dati. 

1. Per i **tag**, aggiungi facoltativamente qualsiasi tag. Per ulteriori informazioni sull'etichettatura delle risorse Amazon Personalize, consulta. [Etichettare le risorse di Amazon Personalize](tagging-resources.md)

1. Scegli **Crea un processo di esportazione del set** di dati. 

   Nella pagina di **panoramica del set** di dati, in **Lavori di esportazione del set** di dati, il lavoro è elencato con lo stato del processo di **esportazione**. **Il processo di esportazione del set di dati è completo quando lo stato è ATTIVO.** È quindi possibile scaricare i dati dal bucket Amazon S3 di output. Per informazioni sul download di oggetti da un bucket Amazon S3, consulta [Downloading an object](https://docs.aws.amazon.com/AmazonS3/latest/userguide/download-objects.html) nella *Amazon Simple Storage Service* User Guide. .

## Creazione di un processo di esportazione del set di dati ()AWS CLI
<a name="export-data-cli"></a>

Dopo aver importato i dati nel set di dati e creato un bucket Amazon S3 di output, puoi esportare il set di dati nel bucket per l'analisi. Per esportare un set di dati utilizzando il AWS CLI, crea un processo di esportazione del set di dati utilizzando il comando. `create-dataset-export-job` AWS CLI Per informazioni sulla creazione di un bucket Amazon S3, consulta [Creating a bucket nella](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) *Amazon Simple Storage* Service User Guide. 

Prima di esportare un set di dati, assicurati che il ruolo del servizio Amazon Personalize possa accedere e scrivere sul tuo bucket Amazon S3 di output. Per informazioni, consulta [Requisiti per le autorizzazioni dei lavori di esportazione del set di dati](export-permissions.md). 

 Di seguito è riportato un comando `create-dataset-export-job` AWS CLI di esempio. Assegna un nome al lavoro, `dataset arn` sostituiscilo con l'Amazon Resource Name (ARN) del set di dati che desideri esportare e sostituiscilo con `role ARN` l'ARN del ruolo del servizio Amazon Personalize in cui hai creato. [Creazione di un ruolo IAM per Amazon Personalize](set-up-required-permissions.md#set-up-create-role-with-permissions) Inoltre`s3DataDestination`, fornisci facoltativamente l'`kmsKeyArn`ARN per la AWS KMS tua chiave e per il percorso `path` del bucket Amazon S3 di output. 

 Per`ingestion-mode`, specifica i dati da esportare tra le seguenti opzioni: 
+  Specificate `BULK` di esportare solo i dati importati in blocco utilizzando un processo di importazione del set di dati. 
+  Specificate `PUT` di esportare solo i dati che avete importato singolarmente utilizzando la console o le `PutEvents` operazioni PutUsers, o`PutItems`. 
+  `ALL`Specificare di esportare tutti i dati nel set di dati. 

 Per ulteriori informazioni, consulta [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
```

Viene visualizzato l'ARN del processo di esportazione del set di dati.

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

Utilizzare l'`DescribeDatasetExportJob`operazione per verificare lo stato.

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

## Creazione di un processo di esportazione del set di dati ()AWS SDKs
<a name="export-data-sdk"></a>

 Dopo aver importato i dati nel set di dati e creato un bucket Amazon S3 di output, puoi esportare il set di dati nel bucket per l'analisi. Per esportare un set di dati utilizzando AWS SDKs, crea un processo di esportazione del set di dati utilizzando l'operazione. [CreateDatasetExportJob](API_CreateDatasetExportJob.md) Per informazioni sulla creazione di un bucket Amazon S3, consulta [Creating a bucket nella](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) *Amazon Simple Storage* Service User Guide. 

Il codice seguente mostra come creare un processo di esportazione di set di dati utilizzando l'SDK for Python (Boto3) o l'SDK for Java 2.x SDK.

Prima di esportare un set di dati, assicurati che il ruolo del servizio Amazon Personalize possa accedere e scrivere sul tuo bucket Amazon S3 di output. Per informazioni, consulta [Requisiti per le autorizzazioni dei lavori di esportazione del set di dati](export-permissions.md). 

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

Utilizza quanto segue `create_dataset_export_job` per esportare i dati in un set di dati in un bucket Amazon S3. Assegna un nome al lavoro, `dataset arn` sostituiscilo con l'Amazon Resource Name (ARN) del set di dati che desideri esportare e sostituiscilo con `role ARN` l'ARN del ruolo del servizio Amazon Personalize in cui hai creato. [Creazione di un ruolo IAM per Amazon Personalize](set-up-required-permissions.md#set-up-create-role-with-permissions) Inoltre`s3DataDestination`, fornisci facoltativamente l'`kmsKeyArn`ARN per la AWS KMS tua chiave e per il percorso `path` del bucket Amazon S3 di output. 

 Per`ingestionMode`, specifica i dati da esportare tra le seguenti opzioni: 
+ Specificate `BULK` di esportare solo i dati importati in blocco utilizzando un processo di importazione del set di dati. 
+ Specificate `PUT` di esportare solo i dati che avete importato singolarmente utilizzando la console o le `PutEvents` operazioni PutUsers, o`PutItems`. 
+ `ALL`Specificare di esportare tutti i dati nel set di dati.

```
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 ]

Utilizzate il seguente `createDatasetExportJob` metodo per creare un processo di esportazione del set di dati. Passa quanto segue come parametri: a PersonalizeClient, il nome del processo di esportazione, l'ARN del set di dati che desideri esportare, la modalità di ingestione, il percorso per il bucket Amazon S3 di output e l'ARN per la tua chiave. AWS KMS 

 `ingestionMode`Può essere una delle seguenti opzioni: 
+ `IngestionMode.BULK`Utilizzatela per esportare solo i dati importati in blocco utilizzando un processo di importazione del set di dati. 
+ `IngestionMode.PUT`Utilizzatelo per esportare solo i dati importati singolarmente utilizzando la console o le `PutEvents` operazioni PutUsers, o`PutItems`. 
+ Utilizzare `IngestionMode.ALL` per esportare tutti i dati nel set di dati.

```
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());
    }
}
```

------