

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 für JavaScript v3)
<a name="getting-started-domain-js"></a>

In diesem Tutorial erfahren Sie, wie Sie mit AWS SDK für JavaScript Version 3 eine Domain-Datensatzgruppe für die Domäne VIDEO\_ON\_DEMAND erstellen. In diesem Tutorial erstellen Sie eine Empfehlung für die für Sie am *besten geeigneten Anwendungsfall.*

 Den in diesem Tutorial verwendeten Code finden Sie in den [Amazon Personalize Personalize-Codebeispielen für SDK for JavaScript v3](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javascriptv3/example_code/personalize) im Repository für * AWS SDK-Codebeispiele*. GitHub

Wenn Sie die Übung „Erste Schritte“ abgeschlossen haben, löschen Sie die von Ihnen erstellten Ressourcen, 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-js-sdk-domain-prerequisites)
+ [Tutorial](#domain-gs-js-domain-tutorial)

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

Für die Durchführung dieses Tutorials sind die folgenden Schritte erforderlich:
+ Gehen Sie wie folgt vor[Voraussetzungen für den Einstieg](gs-prerequisites.md), um die erforderlichen Berechtigungen einzurichten und die Trainingsdaten zu erstellen. Wenn Sie auch das abgeschlossen haben[Erste Schritte mit einer Domain-Datensatzgruppe (Konsole)](getting-started-console-domain.md), können Sie dieselben Quelldaten wiederverwenden. Wenn Sie Ihre eigenen Quelldaten verwenden, stellen Sie sicher, dass Ihre Daten wie in den Voraussetzungen beschrieben formatiert sind.
+ Richten Sie das SDK für JavaScript und die AWS Anmeldeinformationen ein, wie im JavaScript Verfahren [zum Einrichten des SDK für](https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/setting-up.html) im *AWS SDK für JavaScript Entwicklerhandbuch beschrieben*. 

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

In den folgenden Schritten installieren Sie die erforderlichen Abhängigkeiten. Anschließend erstellen Sie eine Datensatzgruppe, importieren Daten, erstellen eine Empfehlung für den *für Sie am besten geeigneten* Anwendungsfall und erhalten Empfehlungen.

Wenn Sie Node.js verwenden, können Sie jedes Codebeispiel ausführen, indem Sie das Beispiel als JavaScript Datei speichern und dann ausführen`node <fileName.js>`.

### Schritt 1: Amazon Personalize installieren
<a name="domain-gs-js-install-dependencies"></a>

Nachdem Sie die Voraussetzungen erfüllt haben, installieren Sie die folgenden Amazon Personalize Personalize-Abhängigkeiten:
+ @aws -sdk/client-personalize
+ @aws -sdk/ client-personalize-runtime
+ @aws -sdk/ client-personalize-events (optional für dieses Tutorial, aber erforderlich, wenn Sie [Ereignisse aufzeichnen möchten, nachdem Sie Ihren Empfehlungsgeber erstellt](recording-events.md) haben)

Das Folgende ist ein Beispiel für eine `package.json` Datei, die Sie verwenden können. Um die Abhängigkeiten mit Node.js zu installieren, navigieren Sie zu dem Speicherort, an dem Sie die `package.json` Datei gespeichert haben, und führen Sie den Befehl aus`npm install`.

```
{
  "name": "personalize-js-project",
  "version": "1.0.0",
  "description": "personalize operations",
  "type": "module",
  "author": "Author Name <email@address.com>",
  "license": "ISC",
  "dependencies": {
    "@aws-sdk/client-personalize": "^3.350.0",
    "@aws-sdk/client-personalize-events": "^3.350.0",
    "@aws-sdk/client-personalize-runtime": "^3.350.0",
    "fs": "^0.0.1-security"
  },
  "compilerOptions": {
    "resolveJsonModule": true,
    "esModuleInterop": true
  }
}
```

### Schritt 2: Amazon Personalize erstellen
<a name="domain-gs-js-clients"></a>

Nachdem Sie die Abhängigkeiten installiert haben, erstellen Sie Ihre Amazon Personalize Personalize-Clients. In diesem Tutorial gehen die Codebeispiele davon aus, dass Sie die Clients in einer Datei mit dem Namen erstellen, die in einem Verzeichnis mit dem Namen `personalizeClients.js` `libs` gespeichert ist. 

Im Folgenden wird ein Beispiel für eine `personalizeClient.js`-Datei dargestellt.

```
import { PersonalizeClient } from "@aws-sdk/client-personalize";
import { PersonalizeRuntimeClient } from "@aws-sdk/client-personalize-runtime";
import { PersonalizeEventsClient } from "@aws-sdk/client-personalize-events";
// Set your AWS region.
const REGION = "{{region}}"; //e.g. "us-east-1"

const personalizeClient = new PersonalizeClient({ region: REGION});
const personalizeEventsClient = new PersonalizeEventsClient({ region: REGION});
const personalizeRuntimeClient = new PersonalizeRuntimeClient({ region: REGION});

export { personalizeClient, personalizeEventsClient, personalizeRuntimeClient };
```

### Schritt 3: Daten importieren
<a name="domain-gs-js-import-dataset"></a>

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

1.  Speichern Sie das folgende Avro-Schema als JSON-Datei in Ihrem Arbeitsverzeichnis. Dieses Schema entspricht den Spalten in der CSV-Datei, die Sie beim Ausfüllen von erstellt haben. [Erstellung der Trainingsdaten (Domain-Datensatzgruppe)](gs-prerequisites.md#gs-data-prep-domain) 

   ```
   {
     "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"
   }
   ```

1. Erstellen Sie ein Domain-Schema in Amazon Personalize mit dem folgenden `createDomainSchema.js` Code. `SCHEMA_PATH`Ersetzen Sie es durch den Pfad zur schema.json-Datei, die Sie gerade erstellt haben. Aktualisieren Sie die`createSchemaParam`, um einen Namen für das Schema anzugeben, und um zu spezifizieren. `domain` `VIDEO_ON_DEMAND` 

   ```
   // Get service clients module and commands using ES6 syntax.
   import { CreateSchemaCommand } from "@aws-sdk/client-personalize";
   import { personalizeClient } from "./libs/personalizeClients.js";
   
   // Or, create the client here.
   // const personalizeClient = new PersonalizeClient({ region: "REGION"});
   
   import fs from "node:fs";
   
   const schemaFilePath = "SCHEMA_PATH";
   let mySchema = "";
   
   try {
     mySchema = fs.readFileSync(schemaFilePath).toString();
   } catch (err) {
     mySchema = "TEST"; // for unit tests.
   }
   
   // Set the domain schema parameters.
   export const createDomainSchemaParam = {
     name: "NAME" /* required */,
     schema: mySchema /* required */,
     domain:
       "DOMAIN" /* required for a domain dataset group, specify ECOMMERCE or VIDEO_ON_DEMAND */,
   };
   
   export const run = async () => {
     try {
       const response = await personalizeClient.send(
         new CreateSchemaCommand(createDomainSchemaParam),
       );
       console.log("Success", response);
       return response; // For unit tests.
     } catch (err) {
       console.log("Error", err);
     }
   };
   run();
   ```

1. Erstellen Sie eine Domain-Datensatzgruppe in Amazon Personalize mit dem folgenden `createDomainDatasetGroup.js` Code. Aktualisieren Sie den`domainDatasetGroupParams`, um einen Namen für die Datensatzgruppe anzugeben, und um zu `domain` spezifizieren`VIDEO_ON_DEMAND`.

   ```
   // Get service clients module and commands using ES6 syntax.
   import { CreateDatasetGroupCommand } from "@aws-sdk/client-personalize";
   import { personalizeClient } from "./libs/personalizeClients.js";
   
   // Or, create the client here.
   // const personalizeClient = new PersonalizeClient({ region: "REGION"});
   
   // Set the domain dataset group parameters.
   export const domainDatasetGroupParams = {
     name: "NAME" /* required */,
     domain:
       "DOMAIN" /* required for a domain dsg, specify ECOMMERCE or VIDEO_ON_DEMAND */,
   };
   
   export const run = async () => {
     try {
       const response = await personalizeClient.send(
         new CreateDatasetGroupCommand(domainDatasetGroupParams),
       );
       console.log("Success", response);
       return response; // For unit tests.
     } catch (err) {
       console.log("Error", err);
     }
   };
   run();
   ```

1. Erstellen Sie einen Datensatz mit Artikelinteraktionen in Amazon Personalize mit dem folgenden `createDataset.js` Code. Aktualisieren Sie den`createDatasetParam`, um den Amazon-Ressourcennamen (ARN) der Datensatzgruppe und des Schemas anzugeben, die Sie gerade erstellt haben, geben Sie dem Datensatz einen Namen und geben Sie für `datasetType` an`Interactions`.

   ```
   // Get service clients module and commands using ES6 syntax.
   import { CreateDatasetCommand } from "@aws-sdk/client-personalize";
   import { personalizeClient } from "./libs/personalizeClients.js";
   
   // Or, create the client here.
   // const personalizeClient = new PersonalizeClient({ region: "REGION"});
   
   // Set the dataset's parameters.
   export const createDatasetParam = {
     datasetGroupArn: "DATASET_GROUP_ARN" /* required */,
     datasetType: "DATASET_TYPE" /* required */,
     name: "NAME" /* required */,
     schemaArn: "SCHEMA_ARN" /* required */,
   };
   
   export const run = async () => {
     try {
       const response = await personalizeClient.send(
         new CreateDatasetCommand(createDatasetParam),
       );
       console.log("Success", response);
       return response; // For unit tests.
     } catch (err) {
       console.log("Error", err);
     }
   };
   run();
   ```

1. Importieren Sie Ihre Daten mit dem folgenden `createDatasetImportJob.js` Code. Aktualisieren Sie den`datasetImportJobParam`, um Folgendes anzugeben: 
   + Geben Sie einen Namen für den Job und den ARN Ihres Interactions-Datensatzes an.
   + Geben Sie für `dataLocation` den Amazon S3 S3-Bucket-Pfad (`s3://{{https://amzn-s3-demo-bucket.s3.region-code.amazonaws.com}}/{{folder name}}/ratings.csv`) an, in dem Sie die Trainingsdaten gespeichert haben.
   + `roleArn`Geben Sie den Amazon-Ressourcennamen für Ihre Amazon Personalize-Servicerolle an. Sie haben diese Rolle als Teil von erstellt. [Voraussetzungen für den Einstieg](gs-prerequisites.md)

   ```
   // Get service clients module and commands using ES6 syntax.
   import { CreateDatasetImportJobCommand } from "@aws-sdk/client-personalize";
   import { personalizeClient } from "./libs/personalizeClients.js";
   
   // Or, create the client here.
   // const personalizeClient = new PersonalizeClient({ region: "REGION"});
   
   // Set the dataset import job parameters.
   export const datasetImportJobParam = {
     datasetArn: "DATASET_ARN" /* required */,
     dataSource: {
       /* required */
       dataLocation: "S3_PATH",
     },
     jobName: "NAME" /* required */,
     roleArn: "ROLE_ARN" /* required */,
   };
   
   export const run = async () => {
     try {
       const response = await personalizeClient.send(
         new CreateDatasetImportJobCommand(datasetImportJobParam),
       );
       console.log("Success", response);
       return response; // For unit tests.
     } catch (err) {
       console.log("Error", err);
     }
   };
   run();
   ```

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

Nachdem Ihr Datensatz-Importjob abgeschlossen ist, können Sie eine Empfehlung erstellen. Verwenden Sie den folgenden `createRecommender.js` Code, um einen Empfehlungsgeber zu erstellen. Aktualisieren Sie das `createRecommenderParam` wie folgt: Geben Sie einen Namen für den Empfehlungsgeber an, geben Sie den ARN Ihrer Datensatzgruppe an und `recipeArn` geben Sie an`arn:aws:personalize:::recipe/aws-vod-top-picks`.

```
// Get service clients module and commands using ES6 syntax.
import { CreateRecommenderCommand } from "@aws-sdk/client-personalize";
import { personalizeClient } from "./libs/personalizeClients.js";

// Or, create the client here.
// const personalizeClient = new PersonalizeClient({ region: "REGION"});

// Set the recommender's parameters.
export const createRecommenderParam = {
  name: "NAME" /* required */,
  recipeArn: "RECIPE_ARN" /* required */,
  datasetGroupArn: "DATASET_GROUP_ARN" /* required */,
};

export const run = async () => {
  try {
    const response = await personalizeClient.send(
      new CreateRecommenderCommand(createRecommenderParam),
    );
    console.log("Success", response);
    return response; // For unit tests.
  } catch (err) {
    console.log("Error", err);
  }
};
run();
```

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

Nachdem Sie einen Empfehlungsgeber erstellt haben, verwenden Sie ihn, um Empfehlungen zu erhalten. Verwenden Sie den folgenden `getRecommendations.js` Code, um Empfehlungen für einen Benutzer abzurufen. Aktualisieren Sie den`getRecommendationsParam`, um den ARN des Empfehlungsgebers anzugeben, den Sie im vorherigen Schritt erstellt haben, und geben Sie eine Benutzer-ID an (z. B.`123`). 

```
// Get service clients module and commands using ES6 syntax.
import { GetRecommendationsCommand } from "@aws-sdk/client-personalize-runtime";
import { personalizeRuntimeClient } from "./libs/personalizeClients.js";
// Or, create the client here.
// const personalizeRuntimeClient = new PersonalizeRuntimeClient({ region: "REGION"});

// Set the recommendation request parameters.
export const getRecommendationsParam = {
  recommenderArn: "RECOMMENDER_ARN" /* required */,
  userId: "USER_ID" /* required */,
  numResults: 15 /* optional */,
};

export const run = async () => {
  try {
    const response = await personalizeRuntimeClient.send(
      new GetRecommendationsCommand(getRecommendationsParam),
    );
    console.log("Success!", response);
    return response; // For unit tests.
  } catch (err) {
    console.log("Error", err);
  }
};
run();
```