

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Criar um trabalho de exportação do conjunto de dados no Amazon Personalize
<a name="create-dataset-export-job"></a>

Você pode criar uma tarefa de exportação de conjuntos de dados com o console do Amazon Personalize, a AWS Command Line Interface (AWS CLI) ou os AWS SDKs. 

## Como criar uma tarefa de exportação do conjunto de dados (console)
<a name="export-data-console"></a>

Depois de importar seus dados para um conjunto de dados e criar um bucket de saída do Amazon S3, você pode exportar os dados para o bucket para análise. **Para exportar um conjunto de dados usando o console do Amazon Personalize, crie uma tarefa de exportação do conjunto de dados. Para obter informações sobre como criar um bucket do Amazon S3, consulte [Criação de um bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html), no *Guia do usuário do Amazon Simple Storage Service*.

Antes de exportar um conjunto de dados, certifique-se de que seu perfil de serviço do Amazon Personalize possa acessar e gravar em seu bucket do Amazon S3 de saída. Consulte [Requisitos de permissões de tarefa para exportação de conjuntos de dados](export-permissions.md). 

**Para criar uma tarefa de exportação do conjunto de dados (console)**

1. Abra o console do Amazon Personalize em [https://console.aws.amazon.com/personalize/home](https://console.aws.amazon.com/personalize/home).

1. No painel de navegação, selecione **Grupos de conjuntos de dados**.

1. Na página **Grupos de conjuntos de dados**, escolha seu grupo de conjuntos de dados.

1. No painel de navegação, selecione **Conjuntos de dados**.

1. Escolha o conjunto de dados que deseja exportar para um bucket do Amazon S3.

1.  Em **Tarefas de exportação do conjunto de dados**, selecione **Criar tarefa de exportação do conjunto de dados**. 

1. Em **Detalhes da tarefa de exportação do conjunto de dados**, em **Nome da tarefa de exportação do conjunto de dados**, digite um nome para a tarefa de exportação.

1. Para **Perfil de serviço do IAM**, selecione o perfil de serviço do Amazon Personalize que você criou em [Criar um perfil do IAM para o Amazon Personalize](set-up-required-permissions.md#set-up-create-role-with-permissions).

1. Para o **caminho de saída de dados do Amazon S3**, insira o bucket de destino do Amazon S3. Use a seguinte sintaxe:

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

1. Se você estiver usando o AWS KMS para criptografia, para o **ARN da chave do KMS**, insira o nome do recurso da Amazon (ARN) para a chave AWS KMS. 

1. Em **Exportar tipo de dados**, escolha o tipo de dados a ser exportado com base em como você importou os dados originalmente.
   +  Escolha **Em massa** para exportar somente os dados que você importou em massa usando uma tarefa de importação do conjunto de dados. 
   + Escolha **Incremental** para exportar somente os dados que você importou individualmente usando o console ou as operações `PutEvents`, `PutUsers` ou `PutItems`. 
   + Escolha **Ambos** para exportar todos os dados no conjunto de dados. 

1. Para **Tags**, é possível adicionar quaisquer tags. Para obter mais informações sobre recursos de atribuição de tags do Amazon Personalize, consulte [Usar tags nos recursos do Amazon Personalize](tagging-resources.md).

1. Escolha **Criar tarefa de exportação do conjunto de dados**. 

   Na página **Visão geral do conjunto de dados**, em **Tarefas de exportação do conjunto de dados**, a tarefa é listada com um **Status da tarefa de exportação**. A tarefa de importação do conjunto de dados estará concluída quando o status for **ATIVO**. Em seguida, baixe os dados do bucket de saída do Amazon S3. Para obter informações sobre como baixar objetos de um bucket do Amazon S3, consulte [Baixar um objeto](https://docs.aws.amazon.com/AmazonS3/latest/userguide/download-objects.html), no *Guia do usuário do Amazon Simple Storage Service*.

## Criar uma tarefa de exportação do conjunto de dados (AWS CLI)
<a name="export-data-cli"></a>

Depois de importar seus dados para o conjunto de dados e criar um bucket de saída do Amazon S3, você pode exportar o conjunto dados para o bucket para análise. Para exportar um conjunto de dados usando a AWS CLI, crie uma tarefa de exportação do conjunto de dados usando o comando `create-dataset-export-job` da AWS CLI. Para obter informações sobre como criar um bucket do Amazon S3, consulte [Criação de um bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html), no *Guia do usuário do Amazon Simple Storage Service*. 

Antes de exportar um conjunto de dados, certifique-se de que o perfil de serviço do Amazon Personalize possa acessar e gravar em seu bucket do Amazon S3 de saída. Consulte [Requisitos de permissões de tarefa para exportação de conjuntos de dados](export-permissions.md). 

 Veja a seguir um exemplo do comando `create-dataset-export-job` AWS CLI. Dê um nome à tarefa, substitua `dataset arn` pelo nome do recurso da Amazon (ARN) do conjunto de dados que deseja exportar e substitua `role ARN` pelo ARN do perfil de serviço do Amazon Personalize que você criou no [Criar um perfil do IAM para o Amazon Personalize](set-up-required-permissions.md#set-up-create-role-with-permissions). Em `s3DataDestination`, para o `kmsKeyArn`, forneça opcionalmente o ARN para sua chave do AWS KMS e, para o `path`, forneça o caminho para seu bucket de saída do Amazon S3. 

 Para `ingestion-mode`, especifique os dados a serem exportados das seguintes opções: 
+  Especifique `BULK` para exportar somente os dados que você importou em massa usando uma tarefa de importação do conjunto de dados. 
+  Especifique `PUT` para exportar somente os dados que você importou individualmente usando o console ou as operações `PutEvents`, PutUsers ou `PutItems`. 
+  Especifique `ALL` para exportar todos os dados no conjunto de dados. 

 Para obter mais informações, consulte [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
```

O ARN da tarefa de importação do conjunto de dados é exibido.

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

Use a operação `DescribeDatasetExportJob` para verificar o status.

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

## Criar uma tarefa de exportação do conjunto de dados (AWS SDKs)
<a name="export-data-sdk"></a>

 Depois de importar seus dados para o conjunto de dados e criar um bucket de saída do Amazon S3, você pode exportar o conjunto dados para o bucket para análise. Para exportar um conjunto de dados usando os AWS SDKs, crie uma tarefa de exportação do conjunto de dados usando a operação [CreateDatasetExportJob](API_CreateDatasetExportJob.md). Para obter informações sobre como criar um bucket do Amazon S3, consulte [Criação de um bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html), no *Guia do usuário do Amazon Simple Storage Service*. 

O código a seguir mostra como criar uma tarefa de exportação do conjunto de dados usando o SDK para Python (Boto3) ou o SDK para Java 2.x.

Antes de exportar um conjunto de dados, certifique-se de que o perfil de serviço do Amazon Personalize possa acessar e gravar em seu bucket do Amazon S3 de saída. Consulte [Requisitos de permissões de tarefa para exportação de conjuntos de dados](export-permissions.md). 

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

Use o seguinte `create_dataset_export_job` para exportar os dados de um conjunto de dados para um bucket do Amazon S3. Dê um nome à tarefa, substitua `dataset arn` pelo nome do recurso da Amazon (ARN) do conjunto de dados que deseja exportar e substitua `role ARN` pelo ARN do perfil de serviço do Amazon Personalize que você criou no [Criar um perfil do IAM para o Amazon Personalize](set-up-required-permissions.md#set-up-create-role-with-permissions). Em `s3DataDestination`, para o `kmsKeyArn`, forneça opcionalmente o ARN para sua chave do AWS KMS e, para o `path`, forneça o caminho para seu bucket de saída do Amazon S3. 

 Para `ingestionMode`, especifique os dados a serem exportados das seguintes opções: 
+ Especifique `BULK` para exportar somente os dados que você importou em massa usando uma tarefa de importação do conjunto de dados. 
+ Especifique `PUT` para exportar somente os dados que você importou individualmente usando o console ou as operações `PutEvents`, PutUsers ou `PutItems`. 
+ Especifique `ALL` para exportar todos os dados no conjunto de dados.

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

Use o método `createDatasetExportJob` a seguir para criar uma tarefa de exportação de conjuntos de dados. Passe o seguinte como parâmetros: um PersonalizeClient, o nome da sua tarefa de exportação, o ARN do conjunto de dados que você deseja exportar, o modo de ingestão, o caminho para o bucket de saída do Amazon S3 e o ARN da sua chave AWS KMS.

 O `ingestionMode` pode ser uma das seguintes opções: 
+ Use `IngestionMode.BULK` para exportar somente os dados que você importou em massa usando uma tarefa de importação do conjunto de dados. 
+ Use `IngestionMode.PUT` para exportar somente os dados que você importou individualmente usando o console ou as operações `PutEvents`, PutUsers ou `PutItems`. 
+ Use `IngestionMode.ALL` para exportar todos os dados no conjunto de dados.

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

------