

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 (AWS CLI)
<a name="getting-started-cli"></a>

In dieser Übung verwenden Sie AWS Command Line Interface (AWS CLI), um Amazon Personalize zu erkunden. Sie erstellen eine Kampagne, die Filmempfehlungen für eine bestimmte Benutzer-ID zurückgibt.

Führen Sie die folgenden Schritte durch, bevor Sie mit dieser Übung beginnen:
+ Lesen Sie „Erste Schritte mit [Voraussetzungen für den Einstieg](gs-prerequisites.md)“.
+ Richten Sie die ein AWS CLI, wie unter beschrieben[Einrichtung der AWS CLI](aws-personalize-set-up-aws-cli.md).

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). 

**Anmerkung**  
Die AWS CLI Befehle in dieser Übung wurden unter Linux getestet. Informationen zur Verwendung der AWS CLI Befehle unter Windows finden Sie AWS Command Line Interface im *AWS Command Line Interface Benutzerhandbuch* [unter Angeben von Parameterwerten für](https://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html).

## Schritt 1: Trainingsdaten importieren
<a name="gs-create-ds"></a>

Befolgen Sie die Schritte zum Erstellen einer Dataset-Gruppe, fügen Sie ein Dataset zur Gruppe hinzu und aktualisieren Sie das Dataset dann mit den Filmbewertungsdaten.

1. Sie erstellen eine Dataset-Gruppe, indem Sie den folgenden Befehl ausführen. Sie können die Datensatzgruppe verschlüsseln, indem Sie einen [AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)Schlüssel-ARN und den ARN einer IAM-Rolle, die über Zugriffsberechtigungen für diesen Schlüssel verfügt, als Eingabeparameter übergeben. Weitere Informationen zur API finden Sie unter [CreateDatasetGroup](API_CreateDatasetGroup.md).

   ```
   aws personalize create-dataset-group --name MovieRatingDatasetGroup --kms-key-arn {{arn:aws:kms:us-west-2:01234567890:key/1682a1e7-a94d-4d92-bbdf-837d3b62315e}} --role-arn {{arn:aws:iam::01234567890:KMS-key-access}}
   ```

   Der Dataset-Gruppen-ARN wird angezeigt, zum Beispiel:

   ```
   {
     "datasetGroupArn": "arn:aws:personalize:us-west-2:acct-id:dataset-group/MovieRatingDatasetGroup"
   }
   ```

   Zeigen Sie die von Ihnen erstellte Dataset-Gruppe mit dem Befehl `describe-dataset-group` an, indem Sie den zurückgegebenen Dataset-Gruppen-ARN angeben.

   ```
   aws personalize describe-dataset-group \
   --dataset-group-arn arn:aws:personalize:us-west-2:{{acct-id}}:dataset-group/MovieRatingDatasetGroup
   ```

   Die Dataset-Gruppe und ihre Eigenschaften werden angezeigt, z. B.:

   ```
   {
       "datasetGroup": {
           "name": "MovieRatingDatasetGroup",
           "datasetGroupArn": "arn:aws:personalize:us-west-2:acct-id:dataset-group/MovieRatingDatasetGroup",
           "status": "ACTIVE",
           "creationDateTime": 1542392161.262,
           "lastUpdatedDateTime": 1542396513.377
       }
   }
   ```
**Anmerkung**  
Warten Sie, bis für den `status` der Dataset-Gruppe ACTIVE angezeigt wird, bevor Sie ein Dataset in der Gruppe erstellen. Diese Operation läuft in der Regel schnell ab.

   Wenn Sie sich nicht an den ARN der Datensatzgruppe erinnern, verwenden Sie den `list-dataset-groups` Befehl, um alle von Ihnen erstellten Datensatzgruppen zusammen mit ihren anzuzeigen ARNs.

   ```
   aws personalize list-dataset-groups
   ```
**Anmerkung**  
Die `list-objects` Befehle `describe-object` und sind für die meisten Amazon Personalize verfügbar. Diese Befehle werden im weiteren Verlauf dieser Übung nicht angezeigt, stehen aber zur Verfügung.

1. Erstellen Sie eine Schemadatei im JSON-Format, indem Sie den folgenden Code in einer Datei mit dem Namen `MovieRatingSchema.json` speichern. Das Schema stimmt mit den Überschriften überein, die Sie `ratings.csv` vorher hinzugefügt haben. Der Schemaname lautet`Interactions`, was einem der von Amazon Personalize erkannten Datensatztypen entspricht. Weitere Informationen finden Sie unter [JSON-Schema-Dateien für Amazon Personalize Personalize-Schemas erstellen](how-it-works-dataset-schema.md).

   ```
   {
     "type": "record",
     "name": "Interactions",
     "namespace": "com.amazonaws.personalize.schema",
     "fields": [
         {
             "name": "USER_ID",
             "type": "string"
         },
         {
             "name": "ITEM_ID",
             "type": "string"
         },
         {
             "name": "TIMESTAMP",
             "type": "long"
         }
     ],
     "version": "1.0"
   }
   ```

1. Erstellen Sie ein Schema, indem Sie den folgenden Befehl ausführen. Geben Sie die im vorherigen Schritt gespeicherte Datei an. Das Beispiel zeigt die Datei als Teil des aktuellen Ordners. Weitere Informationen zur API finden Sie unter [CreateSchema](API_CreateSchema.md).

   ```
   aws personalize create-schema \
     --name MovieRatingSchema \
     --schema file://MovieRatingSchema.json
   ```

   Der Amazon-Ressourcenname (ARN) des Schemas wird angezeigt, z. B.:

   ```
   {
     "schemaArn": "arn:aws:personalize:us-west-2:acct-id:schema/MovieRatingSchema"
   }
   ```

1. Erstellen Sie ein leeres Dataset, indem Sie den folgenden Befehl ausführen. Geben Sie den Dataset-Gruppen-ARN und den Schema-ARN an, die in den vorherigen Schritten zurückgegeben wurden. Der `dataset-type` muss mit dem Schema `name` aus dem vorherigen Schritt übereinstimmen. Weitere Informationen zur API finden Sie unter [CreateDataset](API_CreateDataset.md).

   ```
   aws personalize create-dataset \
     --name MovieRatingDataset \
     --dataset-group-arn arn:aws:personalize:us-west-2:{{acct-id}}:dataset-group/MovieRatingDatasetGroup \
     --dataset-type Interactions \
     --schema-arn arn:aws:personalize:us-west-2:{{acct-id}}:schema/MovieRatingSchema
   ```

   Der Dataset-ARN wird angezeigt, zum Beispiel:

   ```
   {
     "datasetArn": "arn:aws:personalize:us-west-2:acct-id:dataset/MovieRatingDatasetGroup/INTERACTIONS"
   }
   ```

1. Fügen Sie dem Dataset die Schulungsdaten hinzu.

   1. Erstellen Sie den Dataset-Importauftrag, indem Sie den folgenden Befehl ausführen. Geben Sie den Dataset-ARN und den Amazon S3 S3-Bucket-Namen an, die in den vorherigen Schritten zurückgegeben wurden. Geben Sie den ARN der Rolle AWS Identity and Access Management (IAM) an, in [Eine IAM-Rolle für Amazon Personalize erstellen](set-up-required-permissions.md#set-up-create-role-with-permissions) dem Sie ihn erstellt haben. Weitere Informationen zur API finden Sie unter [CreateDatasetImportJob](API_CreateDatasetImportJob.md).

      ```
      aws personalize create-dataset-import-job \
        --job-name MovieRatingImportJob \
        --dataset-arn arn:aws:personalize:us-west-2:{{acct-id}}:dataset/MovieRatingDatasetGroup/INTERACTIONS \
        --data-source dataLocation=s3://{{amzn-s3-demo-bucket}}/ratings.csv \
        --role-arn {{roleArn}}
      ```

      Der Dataset-Importauftrags-ARN wird angezeigt, z. B.:

      ```
      {
        "datasetImportJobArn": "arn:aws:personalize:us-west-2:acct-id:dataset-import-job/MovieRatingImportJob"
      }
      ```

   1. Überprüfen Sie mit dem Befehl `describe-dataset-import-job` den Status. Geben Sie den Dataset-Importauftrag-ARN an, der im vorherigen Schritt zurückgegeben wurde. Weitere Informationen zur API finden Sie unter [DescribeDatasetImportJob](API_DescribeDatasetImportJob.md).

      ```
      aws personalize describe-dataset-import-job \
        --dataset-import-job-arn arn:aws:personalize:us-west-2:{{acct-id}}:dataset-import-job/MovieRatingImportJob
      ```

      Die Eigenschaften des Dataset-Importauftrags, einschließlich des Erstellungsstatus, werden angezeigt. Anfänglich wird für den `status` CREATE PENDING angezeigt, z. B.:

      ```
      {
        "datasetImportJob": {
            "jobName": "MovieRatingImportJob",
            "datasetImportJobArn": "arn:aws:personalize:us-west-2:acct-id:dataset-import-job/MovieRatingImportJob",
            "datasetArn": "arn:aws:personalize:us-west-2:acct-id:dataset/MovieRatingDatasetGroup/INTERACTIONS",
            "dataSource": {
                "dataLocation": "s3://amzn-s3-demo-bucket/ratings.csv"
            },
            "roleArn": "role-arn",
            "status": "CREATE PENDING",
            "creationDateTime": 1542392161.837,
            "lastUpdatedDateTime": 1542393013.377
        }
      }
      ```

      Der Dataset-Importvorgang ist abgeschlossen, wenn der Status als AKTIV angezeigt wird. Danach sind Sie zur Schulung des Modells anhand des angegebenen Datasets bereit.
**Anmerkung**  
Das Importieren ist zeitaufwändig. Warten Sie, bis der Dataset-Importvorgang abgeschlossen ist, bevor Sie das Modell mit dem Dataset schulen.

## Schritt 2: Erstellen Sie eine Lösung (trainieren Sie das Modell)
<a name="gs-create-solution"></a>

Um ein Modell zu trainieren, erstellen Sie die Konfiguration für das Training des Modells mithilfe der [CreateSolution](API_CreateSolution.md) Operation und lassen das automatische Training aktiviert. Die Lösung beginnt innerhalb einer Stunde automatisch mit dem Training der ersten Lösung.

Sie trainieren ein Modell anhand eines Rezepts und Ihrer Trainingsdaten. Amazon Personalize bietet eine Reihe vordefinierter Rezepte. Weitere Informationen finden Sie unter [Ein Rezept wählen](working-with-predefined-recipes.md). Für diese Übung verwenden Sie die User-Personalization-v beiden Rezepte.

1. Erstellen Sie die Konfiguration für die Schulung eines Modells, indem Sie den folgenden Befehl ausführen. Dieser Befehl erstellt eine Lösung, die automatisches Training verwendet. Es erstellt automatisch alle sieben Tage eine neue Lösungsversion (Standardeinstellung).

   ```
   aws personalize create-solution \
     --name MovieSolution \
     --dataset-group-arn arn:aws:personalize:us-west-2:{{acct-id}}:dataset-group/MovieRatingDatasetGroup \
     --recipe-arn arn:aws:personalize:::recipe/aws-user-personalization-v2 \ 
     --perform-auto-training \
     --solution-config "{\"autoTrainingConfig\": {\"schedulingExpression\": \"rate(7 days)\"}}"
   ```

   Der Lösungs-ARN wird angezeigt, z. B.:

   ```
   {
     "solutionArn": "arn:aws:personalize:us-west-2:acct-id:solution/MovieSolution"
   }
   ```

1. Überprüfen Sie den Status *create* mithilfe des Befehls `describe-solution`. Geben Sie den Lösungs-ARN an, der im vorherigen Schritt zurückgegeben wurde. Weitere Informationen zur API finden Sie unter [DescribeSolution](API_DescribeSolution.md).

   ```
   aws personalize describe-solution \
     --solution-arn arn:aws:personalize:us-west-2:{{acct-id}}:solution/MovieSolution
   ```

   Die Eigenschaften der Lösung und der `status` der Erstellung werden angezeigt. Zum Beispiel:

   ```
   {      
     "solution": {
         "name": "MovieSolution",
         "solutionArn": "arn:aws:personalize:us-west-2:acct-id:solution/MovieSolution",
         "performHPO": false,
         "performAutoML": false,
         "recipeArn": "arn:aws:personalize:::recipe/aws-user-personalization-v2",
         "datasetGroupArn": "arn:aws:personalize:us-west-2:acct-id:dataset-group/MovieRatingDatasetGroup",
         "solutionConfig": {
               "algorithmHyperParameters": {
                   "apply_recency_bias": "true"
               },
               "featureTransformationParameters": {},
               "autoTrainingConfig": {
                   "schedulingExpression": "rate(7 days)"
               }
          },
         "status": "ACTIVE",
         "creationDateTime": "2021-05-12T16:27:59.819000-07:00",
         "lastUpdatedDateTime": "2021-05-12T16:27:59.819000-07:00"
     }
   }
   ```

1.  Bei der automatischen Schulung beginnt die Schulung zur Lösungsversion innerhalb eines Tages, nachdem die Lösung AKTIV ist. Nach Beginn der Schulung können Sie den Amazon-Ressourcennamen (ARN) der Lösungsversion mit dem folgenden [ListSolutionVersions](https://docs.aws.amazon.com/personalize/latest/dg/API_ListSolutionVersions.html)Befehl abrufen: 

   ```
   aws personalize list-solution-versions --solution-arn arn:aws:personalize:us-west-2:{{acct-id}}:solution/MovieSolution
   ```

1. Überprüfen Sie den *Schulungsstatus* der Lösungsversion, indem Sie den Befehl `describe-solution-version` verwenden. Geben Sie den Lösungsversions-ARN an, der im vorherigen Schritt zurückgegeben wurde. Weitere Informationen zur API finden Sie unter [DescribeSolutionVersion](API_DescribeSolutionVersion.md).

   ```
   aws personalize describe-solution-version \
     --solution-version-arn arn:aws:personalize:us-west-2:{{acct-id}}:solution/MovieSolution/{{version-id}}
   ```

   Die Eigenschaften der Lösungsversion und des Schulungs`status` werden angezeigt. Anfänglich wird der Status als CREATE PENDING angezeigt, z. B.:

   ```
   {
     "solutionVersion": {
         "solutionVersionArn": "arn:aws:personalize:us-west-2:acct-id:solution/MovieSolution/<version-id>",
         ...,
         "status": "CREATE PENDING"
     }
   }
   ```

1. Wenn die Lösungsversion AKTIV `status` ist, ist die Schulung abgeschlossen.

   Jetzt können Sie die Trainingsmetriken überprüfen und mithilfe der Lösungsversion eine Kampagne erstellen.
**Anmerkung**  
Die Schulung ist zeitaufwändig. Warten Sie, bis die Schulung abgeschlossen ist (der *Schulungsstatus* der Lösungsversion wird als AKTIV angezeigt), bevor Sie diese Version der Lösung in einer Kampagne verwenden.

1. Sie können die Leistung der Lösungsversion validieren, indem Sie ihre Metriken überprüfen. Mit dem folgenden Befehl können Sie die Metriken für die Lösungsversion abrufen. Geben Sie den Lösungsversions-ARN an, der vorher zurückgegeben wurde. Weitere Informationen zur API finden Sie unter [GetSolutionMetrics](API_GetSolutionMetrics.md).

   ```
   aws personalize get-solution-metrics \
     --solution-version-arn arn:aws:personalize:us-west-2:{{acct-id}}:solution/MovieSolution/{{version-id}}
   ```

   Es wird eine Beispielantwort angezeigt:

   ```
   {
     "solutionVersionArn": "arn:aws:personalize:us-west-2:acct-id:solution/www-solution/<version-id>",
     "metrics": {
           "coverage": 0.0485,
           "mean_reciprocal_rank_at_25": 0.0381,
           "normalized_discounted_cumulative_gain_at_10": 0.0363,
           "normalized_discounted_cumulative_gain_at_25": 0.0984,
           "normalized_discounted_cumulative_gain_at_5": 0.0175,
           "precision_at_10": 0.0107,
           "precision_at_25": 0.0207,
           "precision_at_5": 0.0107
       }
   }
   ```

## Schritt 3: Erstellen Sie eine Kampagne (stellen Sie die Lösung bereit)
<a name="gs-create-campaign"></a>

Bevor Sie Empfehlungen erhalten können, müssen Sie eine Lösungsversion bereitstellen. Das Bereitstellen einer Lösung wird auch als Erstellen einer Kampagne bezeichnet. Wenn Sie Ihre Kampagne erstellt haben, kann Ihre Client-Anwendung mithilfe der [GetRecommendations](API_RS_GetRecommendations.md)-API-Empfehlungen erhalten.

1. Erstellen Sie eine Kampagne, indem Sie den folgenden Befehl ausführen. Geben Sie den Lösungsversions-ARN an, der im vorherigen Schritt zurückgegeben wurde. Weitere Informationen zur API finden Sie unter [CreateCampaign](API_CreateCampaign.md).

   ```
   aws personalize create-campaign \
     --name MovieRecommendationCampaign \
     --solution-version-arn arn:aws:personalize:us-west-2:{{acct-id}}:solution/MovieSolution/{{version-id}} \
     --min-provisioned-tps 1
   ```

   Es wird eine Beispielantwort angezeigt:

   ```
   {
     "campaignArn": "arn:aws:personalize:us-west-2:acct-id:campaign/MovieRecommendationCampaign"
   }
   ```

1. Überprüfen Sie den Bereitstellungsstatus, indem Sie den folgenden Befehl ausführen. Geben Sie den Kampagnen-ARN an, der im vorherigen Schritt zurückgegeben wurde. Weitere Informationen zur API finden Sie unter [DescribeCampaign](API_DescribeCampaign.md).

   ```
   aws personalize describe-campaign \
     --campaign-arn arn:aws:personalize:us-west-2:{{acct-id}}:campaign/MovieRecommendationCampaign
   ```

   Es wird eine Beispielantwort angezeigt:

   ```
   {
     "campaign": { 
         "name": "MovieRecommendationCampaign",
         "campaignArn": "arn:aws:personalize:us-west-2:acct-id:campaign/MovieRecommendationCampaign",
         "solutionVersionArn": "arn:aws:personalize:us-west-2:acct-id:solution/MovieSolution/<version-id>",
         "minProvisionedTPS": "1",
         "creationDateTime": 1543864775.923,
         "lastUpdatedDateTime": 1543864791.923,
         "status": "CREATE IN_PROGRESS"
     }
   }
   ```
**Anmerkung**  
Warten Sie, bis für den `status` ACTIVE angezeigt wird, bevor Sie Empfehlungen von der Kampagne erhalten.

## Schritt 4: Empfehlungen einholen
<a name="gs-test"></a>

Sie können durch Ausführen des Befehls `get-recommendations` Empfehlungen erhalten. Geben Sie den Kampagnen-ARN an, der im vorherigen Schritt zurückgegeben wurde. Geben Sie in der Anforderung eine Benutzer-ID aus dem Filmbewertungs-Dataset an. Weitere Informationen zur API finden Sie unter [GetRecommendations](API_RS_GetRecommendations.md).

**Anmerkung**  
Nicht alle Rezepte unterstützen die `GetRecommendations`-API. Weitere Informationen finden Sie unter [Ein Rezept wählen](working-with-predefined-recipes.md).  
Der AWS CLI Befehl, den Sie in diesem Schritt aufrufen`personalize-runtime`, unterscheidet sich von den vorherigen Schritten.

```
aws personalize-runtime get-recommendations \
  --campaign-arn arn:aws:personalize:us-west-2:{{acct-id}}:campaign/MovieRecommendationCampaign \
  --user-id 123
```

Als Reaktion darauf gibt die Kampagne eine Liste mit Artikelempfehlungen (Film IDs) zurück, die dem Nutzer gefallen könnten. Die Liste ist in absteigender Reihenfolge nach der Bedeutung für den Benutzer sortiert.

```
{
  "itemList": [
      {
          "itemId": "14"
      },
      {
          "itemId": "15"
      },
      {
          "itemId": "275"
      },
      {
          "itemId": "283"
      },
      {
          "itemId": "273"
      },
      ...
  ]
}
```