

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Exportieren der Trainingsdaten in einem Datensatz nach Amazon S3
<a name="export-data"></a>

Nachdem Sie Ihre Daten in einen Amazon Personalize-Datensatz importiert haben, können Sie die Daten in einen Amazon S3 S3-Bucket exportieren. Sie können Daten exportieren, um die Daten zu verifizieren und zu überprüfen, die Amazon Personalize zur Generierung von Empfehlungen verwendet, um die zuvor aufgezeichneten Artikelinteraktionsereignisse in Echtzeit anzuzeigen oder um Offline-Analysen Ihrer Daten durchzuführen. 

Sie können wählen, ob Sie nur die Daten exportieren möchten, die Sie in großen Mengen importiert haben (die mit einem Amazon Personalize Personalize-Datensatz-Importauftrag importiert wurden), nur die Daten, die Sie einzeln importiert haben (Datensätze, die mit der Konsole oder den `PutItems` Operationen`PutEvents`,`PutUsers`, oder importiert wurden), oder beides. 

**Anmerkung**  
 Sie können keine Daten in einem Datensatz mit Aktionsinteraktionen oder einem Aktionsdatensatz exportieren. 

Für Datensätze, die *für alle Felder* exakt übereinstimmen, exportiert Amazon Personalize nur einen Datensatz. Wenn zwei Datensätze dieselbe ID haben, aber ein oder mehrere Felder unterschiedlich sind, schließt Amazon Personalize die Datensätze ein oder entfernt sie, je nachdem, welche Daten Sie exportieren möchten: 
+ Wenn Sie sowohl Massen- als auch inkrementelle Daten exportieren, exportiert Amazon Personalize nur die neuesten Artikel mit derselben ID (in Artikeldatensatzexporten) und nur Benutzer mit derselben ID (in Datensatzexporten für Benutzer). Für Datensätze zu Artikelinteraktionen exportiert Amazon Personalize alle Artikelinteraktionsdaten.
+ Wenn Sie nur inkrementelle Daten exportieren, exportiert Amazon Personalize alle Artikel-, Benutzer- oder Artikelinteraktionsdaten, die Sie einzeln importiert haben, einschließlich Artikel oder Benutzer mit denselben. IDs Nur Datensätze, die für alle Felder exakt übereinstimmen, werden ausgeschlossen.
+ Wenn Sie nur Massendaten exportieren, schließt Amazon Personalize alle Artikel-, Benutzer- oder Artikelinteraktionsdaten ein, die Sie in großen Mengen importiert haben, einschließlich Artikel oder Benutzer mit denselben IDs. Nur Datensätze, die für alle Felder exakt übereinstimmen, werden ausgeschlossen.

Um einen Datensatz zu exportieren, erstellen Sie einen Datensatz-Exportjob. Ein *Datensatz-Exportjob* ist ein Tool zum Exportieren von Datensätzen, das die Datensätze in einem Datensatz in eine oder mehrere CSV-Dateien in einem Amazon S3 S3-Bucket ausgibt. Die CSV-Ausgabedatei enthält eine Kopfzeile mit Spaltennamen, die den Feldern im Schema des Datensatzes entsprechen. 

**Topics**
+ [Anforderungen an die Berechtigungen für den Export von Datensätzen](export-permissions.md)
+ [Einen Datensatz-Exportauftrag in Amazon Personalize erstellen](create-dataset-export-job.md)

# Anforderungen an die Berechtigungen für den Export von Datensätzen
<a name="export-permissions"></a>

Um einen Datensatz zu exportieren, benötigt Amazon Personalize die Erlaubnis, Dateien zu Ihrem Amazon S3 S3-Bucket hinzuzufügen. Um Berechtigungen zu erteilen, fügen Sie Ihrer Amazon Personalize Personalize-Servicerolle eine neue AWS Identity and Access Management (IAM) -Richtlinie hinzu, die der Rolle die Berechtigung erteilt, die `ListBucket` Aktionen `PutObject` und in Ihrem Bucket zu verwenden, und fügen Sie Ihrem Amazon S3 S3-Ausgabe-Bucket eine Bucket-Richtlinie hinzu, die dem Amazon Personalize Personalize-Prinzip die Berechtigung zur Verwendung der `PutObject` Aktionen und gewährt. `ListBucket`

 Wenn Sie AWS Key Management Service (AWS KMS) für die Verschlüsselung verwenden, müssen Sie Amazon Personalize und Ihrer Amazon Personalize IAM-Servicerolle die Erlaubnis zur Verwendung Ihres Schlüssels erteilen. Weitere Informationen finden Sie unter [Amazon Personalize die Erlaubnis zur Verwendung Ihres AWS KMS Schlüssels erteilen](granting-personalize-key-access.md).

## Servicerollenrichtlinie für den Export eines Datensatzes
<a name="role-policy-for-dataset-export-job"></a>

Die folgende Beispielrichtlinie erteilt Ihrer Amazon Personalize Personalize-Servicerolle die Erlaubnis, die `ListBucket` Aktionen `PutObject` und zu verwenden. `amzn-s3-demo-bucket`Ersetzen Sie es durch den Namen Ihres Ausgabe-Buckets. Informationen zum Anhängen von Richtlinien an eine IAM-Dienstrolle finden Sie unter. [Hinzufügen einer Amazon S3 S3-Richtlinie zu Ihrer Amazon Personalize Personalize-Servicerolle](granting-personalize-s3-access.md#attaching-s3-policy-to-role) 

```
{
    "Version": "2012-10-17",		 	 	 
    "Id": "PersonalizeS3BucketAccessPolicy",
    "Statement": [
        {
            "Sid": "PersonalizeS3BucketAccessPolicy",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket",
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ]
        }
    ]
}
```

## Amazon S3 S3-Bucket-Richtlinie für den Export eines Datensatzes
<a name="bucket-policy-for-dataset-export-job"></a>

Die folgende Beispielrichtlinie erteilt Amazon Personalize die Erlaubnis, die `ListBucket` Aktionen `PutObject` und in einem Amazon S3 S3-Bucket zu verwenden. Ersetzen Sie `amzn-s3-demo-bucket` durch den Namen von Ihrem Bucket. Informationen zum Hinzufügen einer Amazon S3 S3-Bucket-Richtlinie zu einem Bucket finden Sie unter [Hinzufügen einer Bucket-Richtlinie mithilfe der Amazon S3 S3-Konsole](https://docs.aws.amazon.com/AmazonS3/latest/userguide/add-bucket-policy.html) im *Amazon Simple Storage Service-Benutzerhandbuch.* 

```
{
    "Version": "2012-10-17",		 	 	 
    "Id": "PersonalizeS3BucketAccessPolicy",
    "Statement": [
        {
            "Sid": "PersonalizeS3BucketAccessPolicy",
            "Effect": "Allow",
            "Principal": {
                "Service": "personalize.amazonaws.com"
            },
            "Action": [
                "s3:PutObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket",
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ]
        }
    ]
}
```

# Einen Datensatz-Exportauftrag in Amazon Personalize erstellen
<a name="create-dataset-export-job"></a>

Sie können einen Datensatz-Exportauftrag mit der Amazon Personalize Personalize-Konsole, AWS Command Line Interface (AWS CLI) oder AWS SDKs erstellen. 

## Erstellen eines Datensatz-Exportauftrags (Konsole)
<a name="export-data-console"></a>

Nachdem Sie Ihre Daten in einen Datensatz importiert und einen Amazon S3 S3-Ausgabe-Bucket erstellt haben, können Sie die Daten zur Analyse in den Bucket exportieren. **Um einen Datensatz mit der Amazon Personalize-Konsole zu exportieren, erstellen Sie einen Datensatz-Exportauftrag. Informationen zum Erstellen eines Amazon S3 S3-Buckets finden Sie unter [Erstellen eines Buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) im *Amazon Simple Storage Service-Benutzerhandbuch*.

Bevor Sie einen Datensatz exportieren, stellen Sie sicher, dass Ihre Amazon Personalize-Servicerolle auf Ihren Amazon S3-Ausgabe-Bucket zugreifen und in diesen schreiben kann. Siehe [Anforderungen an die Berechtigungen für den Export von Datensätzen](export-permissions.md). 

**So erstellen Sie einen Auftrag zum Exportieren von Datensätzen (Konsole)**

1. Öffnen Sie die Amazon Personalize Personalize-Konsole zu [https://console.aws.amazon.com/personalize/Hause](https://console.aws.amazon.com/personalize/home).

1. Wählen Sie im Navigationsbereich **Datensatzgruppen** aus.

1. Wählen Sie auf der Seite **Datensatzgruppen** Ihre Datensatzgruppe aus.

1. Wählen Sie im Navigationsbereich **Datensätze** aus.

1. Wählen Sie den Datensatz aus, den Sie in einen Amazon S3 S3-Bucket exportieren möchten.

1.  Wählen Sie unter **Datensatz-Exportaufträge** die Option **Datensatz-Exportjob erstellen** aus. 

1. Geben **Sie im Feld Details zum Datensatz-Exportauftrag** **für den Namen des** Datensatz-Exportjobs einen Namen für den Exportauftrag ein.

1. Wählen Sie für die **IAM-Servicerolle** die Amazon Personalize-Servicerolle aus, in der Sie sie erstellt haben. [Eine IAM-Rolle für Amazon Personalize erstellen](set-up-required-permissions.md#set-up-create-role-with-permissions)

1. Geben Sie für den **Amazon S3 S3-Datenausgabepfad** den Amazon S3-Ziel-Bucket ein. Verwenden Sie die folgende Syntax:

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

1. Wenn Sie AWS KMS für die Verschlüsselung den **KMS-Schlüssel ARN** verwenden, geben Sie den Amazon-Ressourcennamen (ARN) für den AWS KMS Schlüssel ein. 

1. Wählen Sie unter **Datentyp exportieren** den zu exportierenden Datentyp aus, je nachdem, wie Sie die Daten ursprünglich importiert haben.
   +  Wählen Sie **Bulk** aus, um nur Daten zu exportieren, die Sie mithilfe eines Datensatz-Importjobs in großen Mengen importiert haben. 
   + Wählen Sie **Inkrementell**, um nur Daten zu exportieren, die Sie einzeln mit der Konsole oder den `PutItems` Operationen `PutEvents``PutUsers`, oder importiert haben. 
   + Wählen Sie **Beide**, um alle Daten im Datensatz zu exportieren. 

1. Fügen Sie für **Tags** optional beliebige Tags hinzu. Weitere Informationen zum Taggen von Amazon Personalize Personalize-Ressourcen finden Sie unter. [Taggen von Amazon Personalize Personalize-Ressourcen](tagging-resources.md)

1. Wählen Sie „**Datensatz-Exportauftrag erstellen**“. 

   Auf der **Datensatz-Übersichtsseite** unter **Datensatz-Exportjobs** wird der Job mit dem **Status Exportjob** aufgeführt. Der Datensatz-Exportjob ist abgeschlossen, wenn der Status **AKTIV** ist. Anschließend können Sie die Daten aus dem Amazon S3 S3-Ausgabe-Bucket herunterladen. Informationen zum Herunterladen von Objekten aus einem Amazon S3 S3-Bucket finden Sie unter [Objekt herunterladen](https://docs.aws.amazon.com/AmazonS3/latest/userguide/download-objects.html) im *Amazon Simple Storage Service-Benutzerhandbuch.* .

## Einen Datensatz-Exportauftrag erstellen (AWS CLI)
<a name="export-data-cli"></a>

Nachdem Sie Ihre Daten in den Datensatz importiert und einen Amazon S3 S3-Ausgabe-Bucket erstellt haben, können Sie den Datensatz zur Analyse in den Bucket exportieren. Um einen Datensatz mit dem zu exportieren AWS CLI, erstellen Sie mit dem `create-dataset-export-job` AWS CLI Befehl einen Datensatz-Exportauftrag. Informationen zum Erstellen eines Amazon S3 S3-Buckets finden Sie unter [Erstellen eines Buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) im *Amazon Simple Storage Service-Benutzerhandbuch*. 

Bevor Sie einen Datensatz exportieren, stellen Sie sicher, dass die Amazon Personalize-Servicerolle auf Ihren Amazon S3-Ausgabe-Bucket zugreifen und in diesen schreiben kann. Siehe [Anforderungen an die Berechtigungen für den Export von Datensätzen](export-permissions.md). 

 Im Folgenden finden Sie ein Beispiel für den `create-dataset-export-job` AWS CLI -Befehl. Geben Sie dem Job einen Namen, `dataset arn` ersetzen Sie ihn durch den Amazon-Ressourcennamen (ARN) des Datensatzes, den Sie exportieren möchten, und `role ARN` ersetzen Sie ihn durch den ARN der Amazon Personalize-Servicerolle, in [Eine IAM-Rolle für Amazon Personalize erstellen](set-up-required-permissions.md#set-up-create-role-with-permissions) der Sie erstellt haben. Geben Sie in`s3DataDestination`, für`kmsKeyArn`, optional den ARN für Ihren AWS KMS Schlüssel und für den den `path` Pfad zu Ihrem Amazon S3 S3-Ausgabe-Bucket an. 

 Geben Sie für die Daten`ingestion-mode`, die exportiert werden sollen, aus den folgenden Optionen an: 
+  Geben Sie `BULK` an, dass nur Daten exportiert werden sollen, die Sie mithilfe eines Datensatz-Importjobs in großen Mengen importiert haben. 
+  Geben Sie `PUT` an, dass nur Daten exportiert werden sollen, die Sie einzeln mit der Konsole oder den `PutItems` Operationen `PutEvents` PutUsers, oder importiert haben. 
+  Geben Sie `ALL` an, dass alle Daten im Datensatz exportiert werden sollen. 

 Weitere Informationen finden Sie unter [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
```

Der ARN des Datensatz-Exportjobs wird angezeigt.

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

Verwenden Sie den `DescribeDatasetExportJob` Vorgang, um den Status zu überprüfen.

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

## Einen Datensatz-Exportauftrag erstellen (AWS SDKs)
<a name="export-data-sdk"></a>

 Nachdem Sie Ihre Daten in den Datensatz importiert und einen Amazon S3 S3-Ausgabe-Bucket erstellt haben, können Sie den Datensatz zur Analyse in den Bucket exportieren. Um einen Datensatz mit dem zu exportieren AWS SDKs, erstellen Sie mithilfe der [CreateDatasetExportJob](API_CreateDatasetExportJob.md) Operation einen Datensatz-Exportauftrag. Informationen zum Erstellen eines Amazon S3 S3-Buckets finden Sie unter [Erstellen eines Buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) im *Amazon Simple Storage Service-Benutzerhandbuch*. 

Der folgende Code zeigt, wie Sie einen Datensatz-Exportauftrag mit dem SDK for Python (Boto3) oder dem SDK for Java 2.x SDK erstellen.

Bevor Sie einen Datensatz exportieren, stellen Sie sicher, dass die Amazon Personalize-Servicerolle auf Ihren Amazon S3-Ausgabe-Bucket zugreifen und in diesen schreiben kann. Siehe [Anforderungen an die Berechtigungen für den Export von Datensätzen](export-permissions.md). 

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

Gehen Sie wie folgt vor`create_dataset_export_job`, um die Daten in einem Datensatz in einen Amazon S3 S3-Bucket zu exportieren. Geben Sie dem Job einen Namen, `dataset arn` ersetzen Sie ihn durch den Amazon-Ressourcennamen (ARN) des Datensatzes, den Sie exportieren möchten, und `role ARN` ersetzen Sie ihn durch den ARN der Amazon Personalize-Servicerolle, in [Eine IAM-Rolle für Amazon Personalize erstellen](set-up-required-permissions.md#set-up-create-role-with-permissions) der Sie erstellt haben. Geben Sie in`s3DataDestination`, für`kmsKeyArn`, optional den ARN für Ihren AWS KMS Schlüssel und für den den `path` Pfad zu Ihrem Amazon S3 S3-Ausgabe-Bucket an. 

 Geben Sie für die Daten`ingestionMode`, die exportiert werden sollen, aus den folgenden Optionen an: 
+ Geben Sie `BULK` an, dass nur Daten exportiert werden sollen, die Sie mithilfe eines Datensatz-Importjobs in großen Mengen importiert haben. 
+ Geben Sie `PUT` an, dass nur Daten exportiert werden sollen, die Sie einzeln mit der Konsole oder den `PutItems` Operationen `PutEvents` PutUsers, oder importiert haben. 
+ Geben Sie `ALL` an, dass alle Daten im Datensatz exportiert werden sollen.

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

Verwenden Sie die folgende `createDatasetExportJob` Methode, um einen Datensatz-Exportauftrag zu erstellen. Übergeben Sie Folgendes als Parameter: a PersonalizeClient, den Namen für Ihren Exportauftrag, den ARN des Datensatzes, den Sie exportieren möchten, den Aufnahmemodus, den Pfad für den Amazon S3 S3-Ausgabe-Bucket und den ARN für Ihren AWS KMS Schlüssel.

 Das `ingestionMode` kann eine der folgenden Optionen sein: 
+ Wird verwendet`IngestionMode.BULK`, um nur Daten zu exportieren, die Sie mithilfe eines Datensatz-Importjobs in großen Mengen importiert haben. 
+ Wird verwendet`IngestionMode.PUT`, um nur Daten zu exportieren, die Sie einzeln mit der Konsole oder den `PutItems` Operationen `PutEvents` PutUsers, oder importiert haben. 
+ `IngestionMode.ALL`Dient zum Exportieren aller Daten im Datensatz.

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

------