

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Memulai grup dataset Domain (SDK untuk JavaScript v3)
<a name="getting-started-domain-js"></a>

Tutorial ini menunjukkan cara menggunakan AWS SDK untuk JavaScript v3 untuk membuat grup dataset Domain untuk domain VIDEO\$1ON\$1DEMAND. Dalam tutorial ini, Anda membuat rekomendasi untuk *pilihan Top untuk kasus penggunaan Anda*.

 Untuk melihat kode yang digunakan dalam tutorial ini GitHub, lihat [contoh kode Amazon Personalize untuk SDK for JavaScript v3 di repositori Contoh Kode AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javascriptv3/example_code/personalize) *SDK*.

Saat Anda menyelesaikan latihan memulai, untuk menghindari biaya yang tidak perlu, hapus sumber daya yang Anda buat. Untuk informasi selengkapnya, lihat [Persyaratan untuk menghapus sumber daya Amazon Personalize](deleting-resources.md). 

**Topics**
+ [Prasyarat](#gs-js-sdk-domain-prerequisites)
+ [Tutorial](#domain-gs-js-domain-tutorial)

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

Berikut ini adalah langkah-langkah prasyarat untuk menyelesaikan tutorial ini:
+ Selesaikan [Memulai prasyarat](gs-prerequisites.md) untuk mengatur izin yang diperlukan dan membuat data pelatihan. Jika Anda juga menyelesaikan[Memulai grup dataset Domain (konsol)](getting-started-console-domain.md), Anda dapat menggunakan kembali data sumber yang sama. Jika Anda menggunakan data sumber Anda sendiri, pastikan bahwa data Anda diformat seperti dalam prasyarat.
+ *Siapkan SDK untuk JavaScript dan AWS kredensialnya seperti yang ditentukan dalam [Menyiapkan SDK untuk JavaScript prosedur di Panduan Pengembang](https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/setting-up.html).AWS SDK untuk JavaScript * 

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

Pada langkah-langkah berikut, Anda menginstal dependensi yang diperlukan. Kemudian Anda membuat grup kumpulan data, mengimpor data, membuat pemberi rekomendasi untuk *pilihan Teratas untuk kasus penggunaan Anda, dan mendapatkan* rekomendasi.

Jika Anda menggunakan Node.js, Anda dapat menjalankan setiap contoh kode dengan menyimpan sampel sebagai JavaScript file dan kemudian menjalankannya`node <fileName.js>`.

### Langkah 1: Instal dependensi Amazon Personalisasi
<a name="domain-gs-js-install-dependencies"></a>

Setelah Anda menyelesaikan prasyarat, instal dependensi Amazon Personalize berikut:
+ @aws -sdk/klien-personalisasi
+ @aws -sdk/ client-personalize-runtime
+ @aws -sdk/ client-personalize-events (opsional untuk tutorial ini, tetapi diperlukan jika Anda ingin [merekam acara](recording-events.md) setelah Anda membuat pemberi rekomendasi)

Berikut ini adalah contoh `package.json` file yang dapat Anda gunakan. Untuk menginstal dependensi dengan Node.js, navigasikan ke tempat Anda menyimpan `package.json` file dan menjalankannya. `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
  }
}
```

### Langkah 2: Buat Amazon Personalisasi klien
<a name="domain-gs-js-clients"></a>

Setelah Anda menginstal dependensi, buat klien Amazon Personalize Anda. Dalam tutorial ini, contoh kode mengasumsikan Anda membuat klien dalam file bernama `personalizeClients.js` disimpan dalam direktori bernama`libs`. 

Berikut ini adalah contoh `personalizeClient.js` file.

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

### Langkah 3: Impor data
<a name="domain-gs-js-import-dataset"></a>

Setelah Anda membuat klien Amazon Personalize, impor data historis yang Anda buat saat Anda menyelesaikan. [Memulai prasyarat](gs-prerequisites.md) Untuk mengimpor data historis ke Amazon Personalize, lakukan hal berikut:

1.  Simpan skema Avro berikut sebagai file JSON di direktori kerja Anda. Skema ini cocok dengan kolom dalam file CSV yang Anda buat saat Anda menyelesaikan. [Membuat data pelatihan (Grup dataset domain)](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. Buat skema domain di Amazon Personalize dengan kode berikut. `createDomainSchema.js` Ganti `SCHEMA_PATH` dengan path ke file schema.json yang baru saja Anda buat. Perbarui `createSchemaParam` untuk menentukan nama untuk skema, dan untuk `domain` menentukan`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. Buat grup kumpulan data domain di Amazon Personalisasi dengan kode berikut. `createDomainDatasetGroup.js` Perbarui `domainDatasetGroupParams` untuk menentukan nama untuk grup kumpulan data, dan untuk `domain` menentukan`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. Buat kumpulan data interaksi Item di Amazon Personalisasi dengan kode berikut. `createDataset.js` Perbarui `createDatasetParam` untuk menentukan Nama Sumber Daya Amazon (ARN) dari grup kumpulan data dan skema yang baru saja Anda buat, beri nama kumpulan data, dan untuk, tentukan. `datasetType` `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. Impor data Anda dengan `createDatasetImportJob.js` kode berikut. Perbarui `datasetImportJobParam` untuk menentukan yang berikut: 
   + Tentukan nama untuk pekerjaan tersebut dan tentukan ARN kumpulan data Interaksi Anda.
   + Untuk`dataLocation`, tentukan jalur bucket Amazon S3 (`s3://https://amzn-s3-demo-bucket.s3.region-code.amazonaws.com/folder name/ratings.csv`) tempat Anda menyimpan data pelatihan.
   + Untuk `roleArn` menentukan Nama Sumber Daya Amazon untuk peran layanan Amazon Personalisasi Anda. Anda menciptakan peran ini sebagai bagian dari[Memulai prasyarat](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();
   ```

### Langkah 4: Buat pemberi rekomendasi
<a name="domain-gs-js-create-recommender"></a>

Setelah pekerjaan impor dataset Anda selesai, Anda siap membuat pemberi rekomendasi. Untuk membuat pemberi rekomendasi, gunakan `createRecommender.js` kode berikut. Perbarui `createRecommenderParam` dengan yang berikut ini: Tentukan nama untuk pemberi rekomendasi, tentukan ARN grup kumpulan data Anda, dan untuk tentukan. `recipeArn` `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();
```

### Langkah 5: Dapatkan rekomendasi
<a name="domain-gs-js-get-recommendations"></a>

Setelah Anda membuat pemberi rekomendasi, Anda menggunakannya untuk mendapatkan rekomendasi. Gunakan `getRecommendations.js` kode berikut untuk mendapatkan rekomendasi bagi pengguna. Perbarui `getRecommendationsParam` untuk menentukan ARN dari pemberi rekomendasi yang Anda buat pada langkah sebelumnya, dan tentukan ID pengguna (misalnya,). `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();
```