

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.

# Erste Schritte mit einer Domain-Datensatzgruppe (SDK for Python (Boto3))
<a name="getting-started-domain-python"></a>

Dieses Tutorial zeigt Ihnen, wie Sie das SDK for Python (Boto3) verwenden, um eine Domain-Datensatzgruppe für die Domäne VIDEO\_ON\_DEMAND zu erstellen. *In diesem Tutorial erstellen Sie eine Empfehlung für den Anwendungsfall „Top Picks for you“.*

Wenn Sie die Übung Erste Schritte abgeschlossen haben, löschen Sie die Ressourcen, die Sie erstellt haben, um unnötige Kosten zu vermeiden. Weitere Informationen finden Sie unter [Anforderungen für das Löschen von Amazon Personalize Personalize-Ressourcen](deleting-resources.md). 

**Topics**
+ [Voraussetzungen](#gs-sdk-domain-prerequisites)
+ [Tutorial](#gs-python-tutorial)
+ [Erste Schritte mit Amazon Personalize APIs mit Jupyter (IPython) -Notebooks](#gs-jupyter-domain-notebook)

## Voraussetzungen
<a name="gs-sdk-domain-prerequisites"></a>

Im Folgenden werden die Voraussetzungen für die Verwendung der Python-Beispiele in diesem Handbuch erläutert:
+ Füllen Sie das aus[Voraussetzungen für den Einstieg](gs-prerequisites.md), um die erforderlichen Berechtigungen einzurichten und die Trainingsdaten zu erstellen. Wenn Sie Ihre eigenen Quelldaten verwenden, stellen Sie sicher, dass Ihre Daten wie in den Voraussetzungen beschrieben formatiert sind.
+ Richten Sie Ihre AWS SDK für Python (Boto3) Umgebung wie unter beschrieben ein. [Einrichtung des AWS SDKs](aws-personalize-set-up-sdks.md)

## Tutorial
<a name="gs-python-tutorial"></a>

In den folgenden Schritten verifizieren Sie Ihre Umgebung und erstellen SDK für Python-Clients (Boto3) für Amazon Personalize. Anschließend importieren Sie Daten, erstellen eine Empfehlung für den *für Sie am besten geeigneten* Anwendungsfall und erhalten Empfehlungen.

### Schritt 1: Verifizieren Sie Ihre Python-Umgebung und erstellen Sie Boto3-Clients
<a name="gs-python-domain-verify-environment"></a>

Wenn Sie die Schritte für die Voraussetzungen abgeschlossen haben, führen Sie das folgende Python-Beispiel aus, um zu überprüfen, ob Ihre Umgebung korrekt konfiguriert ist. Dieser Code erstellt auch die Amazon Personalize Personalize-Boto3-Clients, die Sie in diesem Tutorial verwenden. Wenn Ihre Umgebung korrekt konfiguriert ist, wird eine Liste der verfügbaren Rezepte angezeigt, und Sie können die anderen Beispiele in diesem Tutorial ausführen.

```
import boto3

personalizeRt = boto3.client('personalize-runtime')
personalize = boto3.client('personalize')

response = personalize.list_recipes()

for recipe in response['recipes']:
    print (recipe)
```

### Schritt 2: Daten importieren
<a name="getting-started-python-domain-import-dataset"></a>

Nachdem Sie Amazon Personalize Boto3-Clients erstellt und Ihre Umgebung verifiziert haben, importieren Sie die historischen Daten, die Sie beim Abschluss des erstellt haben. [Voraussetzungen für den Einstieg](gs-prerequisites.md) Gehen Sie wie folgt vor, um historische Daten in Amazon Personalize zu importieren:

1. Verwenden Sie den folgenden Code, um ein Schema in Amazon Personalize zu erstellen. `gs-domain-interactions-schema`Ersetzen Sie es durch einen Namen für das Schema. 

   ```
   import json
   schema = {
     "type": "record",
     "name": "Interactions",
     "namespace": "com.amazonaws.personalize.schema",
     "fields": [
         {
             "name": "USER_ID",
             "type": "string"
         },
         {
             "name": "ITEM_ID",
             "type": "string"
         },
         {
             "name": "EVENT_TYPE",
             "type": "string"
         },
         {
             "name": "TIMESTAMP",
             "type": "long"
         }
     ],
     "version": "1.0"
   }
   
   create_interactions_schema_response = personalize.create_schema(
       name='{{gs-domain-interactions-schema}}',
       schema=json.dumps(schema),
       domain='VIDEO_ON_DEMAND'
   )
   
   interactions_schema_arn = create_interactions_schema_response['schemaArn']
   print(json.dumps(create_interactions_schema_response, indent=2))
   ```

1. Erstellen Sie eine Dataset-Gruppe mit dem folgenden Code. `dataset group name`Durch einen Namen für die Datensatzgruppe ersetzen.

   ```
   response = personalize.create_dataset_group(
     name = '{{dataset group name}}',
     domain = 'VIDEO_ON_DEMAND'
   )
   dsg_arn = response['datasetGroupArn']
   
   description = personalize.describe_dataset_group(datasetGroupArn = dsg_arn)['datasetGroup']
   
   print('Name: ' + description['name'])
   print('ARN: ' + description['datasetGroupArn'])
   print('Status: ' + description['status'])
   ```

1. Erstellen Sie einen Datensatz mit Artikelinteraktionen in Ihrer neuen Datensatzgruppe mit dem folgenden Code. Geben Sie dem Datensatz einen Namen und geben Sie die `schema_arn` Daten und `dataset_group_arn` aus den vorherigen Schritten an.

   ```
   response = personalize.create_dataset(
       name = '{{interactions-dataset-name}}',
       schemaArn = interactions_schema_arn,
       datasetGroupArn = dsg_arn,
       datasetType = 'INTERACTIONS'
   )
   
   dataset_arn = response['datasetArn']
   ```

1. Importieren Sie Ihre Daten mit einem Datensatz-Importjob mit dem folgenden Code. Der Code verwendet die Methode describe\_dataset\_import\_job, um den Status des Jobs zu verfolgen. 

   Übergeben Sie Folgendes als Parameter: einen Namen für den Job, den Namen `dataset_arn` aus dem vorherigen Schritt, den Amazon S3 S3-Bucket-Pfad (`s3://{{bucket name}}/{{folder name}}/ratings.csv`), in dem Sie die Trainingsdaten gespeichert haben, und den ARN Ihrer IAM-Servicerolle. Sie haben diese Rolle als Teil von erstellt. [Voraussetzungen für den Einstieg](gs-prerequisites.md) Amazon Personalize benötigt eine Genehmigung für den Zugriff auf den Bucket. Informationen zur Gewährung von Zugriff finden Sie unter[Amazon Personalize Zugriff auf Amazon S3 S3-Ressourcen gewähren](granting-personalize-s3-access.md). 

   ```
   import time
   response = personalize.create_dataset_import_job(
       jobName = '{{JobName}}',
       datasetArn = '{{dataset_arn}}',
       dataSource = {'dataLocation':'s3://{{amzn-s3-demo-bucket}}/{{filename}}.csv'},
       roleArn = '{{role_arn}}'
   )
   
   dataset_interactions_import_job_arn = response['datasetImportJobArn']
   
   description = personalize.describe_dataset_import_job(
       datasetImportJobArn = dataset_interactions_import_job_arn)['datasetImportJob']
   
   print('Name: ' + description['jobName'])
   print('ARN: ' + description['datasetImportJobArn'])
   print('Status: ' + description['status'])
   
   max_time = time.time() + 3*60*60 # 3 hours
   while time.time() < max_time:
       describe_dataset_import_job_response = personalize.describe_dataset_import_job(
           datasetImportJobArn = dataset_interactions_import_job_arn
       )
       status = describe_dataset_import_job_response["datasetImportJob"]['status']
       print("Interactions DatasetImportJob: {}".format(status))
       
       if status == "ACTIVE" or status == "CREATE FAILED":
           break
           
       time.sleep(60)
   ```

### Schritt 4: Erstellen Sie einen Empfehlungsgeber
<a name="domain-gs-py-create-recommender"></a>

Nachdem Ihr Datensatz-Importjob abgeschlossen ist, können Sie eine Empfehlung erstellen. Verwenden Sie den folgenden Code, um einen Empfehlungsgeber zu erstellen. Übergeben Sie Folgendes als Parameter: einen Namen für den Empfehlungsgeber, den Amazon-Ressourcennamen (ARN) Ihrer Datensatzgruppe und `arn:aws:personalize:::recipe/aws-vod-top-picks` für den Rezept-ARN. Der Code verwendet die Methode describe\_recommender, um den Status des Empfehlungsgebers zu verfolgen.

```
import time
create_recommender_response = personalize.create_recommender(
  name = 'gs-python-top-picks',
  recipeArn = 'arn:aws:personalize:::recipe/aws-vod-top-picks',
  datasetGroupArn = dsg_arn     
)
recommender_arn = create_recommender_response['recommenderArn']

print('Recommender ARN:' + recommender_arn)
max_time = time.time() + 3*60*60 # 3 hours
while time.time() < max_time:

    version_response = personalize.describe_recommender(
        recommenderArn = recommender_arn
    )
    status = version_response["recommender"]["status"]

    if status == "ACTIVE":
        print("Creation succeeded for {}".format(recommender_arn))
        
    elif status == "CREATE FAILED":
        print("Creation failed for {}".format(recommender_arn))

    if status == "ACTIVE":
        break
    else:
        print("Recommender creation is still in progress")
        
    time.sleep(60)
```

### Schritt 5: Empfehlungen einholen
<a name="domain-gs-py-get-recommendations"></a>

Nachdem Sie einen Empfehlungsgeber erstellt haben, verwenden Sie ihn, um Empfehlungen mit dem folgenden Code abzurufen. Übergeben Sie als Parameter den Amazon-Ressourcennamen (ARN) des Empfehlungsgebers, den Sie im vorherigen Schritt erstellt haben, und eine Benutzer-ID (z. B.`123`). Die Methode druckt die Liste der empfohlenen Artikel. 

```
response = personalizeRt.get_recommendations(
    recommenderArn = "arn:aws:personalize:us-west-2:014025156336:recommender/gs-python-top-picks-89",
    userId = '123'
)
print("Recommended items")
for item in response['itemList']:
    print (item['itemId'])
```

## Erste Schritte mit Amazon Personalize APIs mit Jupyter (IPython) -Notebooks
<a name="gs-jupyter-domain-notebook"></a>

 [Um mit der Erstellung von Domain-Datensatzgruppen mit Jupyter-Notizbüchern zu beginnen, klonen oder laden Sie eine Reihe von Notizbüchern herunter, die sich im Ordner [notebooks\_managed\_domains](https://github.com/aws-samples/amazon-personalize-samples/tree/master/getting_started/notebooks_managed_domains) des Amazon Personalize Personalize-Beispiel-Repositorys befinden.](https://github.com/aws-samples/amazon-personalize-samples) Die Notizbücher führen Sie durch das Importieren von Trainingsdaten, das Erstellen einer Empfehlung und das Abrufen von Empfehlungen mit Amazon Personalize.

**Anmerkung**  
 [Bevor Sie mit den Notizbüchern beginnen, stellen Sie sicher, dass Sie Ihre Umgebung gemäß den Schritten in der README.md erstellt haben](https://github.com/aws-samples/amazon-personalize-samples/blob/master/getting_started/README.md) 