Merekam peristiwa interaksi item tunggal - Amazon Personalize

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

Merekam peristiwa interaksi item tunggal

Setelah Anda membuat kumpulan data interaksi Item dan pelacak peristiwa untuk grup kumpulan data Anda, Anda siap merekam peristiwa interaksi item. Contoh berikut menunjukkan PutEvents operasi yang melewati satu peristiwa interaksi item. Skema yang sesuai ditampilkan, bersama dengan baris contoh dari kumpulan data interaksi Item.

Aplikasi Anda menghasilkan unik sessionId ketika pengguna pertama kali mengunjungi situs web Anda atau menggunakan aplikasi Anda. Anda harus menggunakan hal yang sama sessionId di semua acara sepanjang sesi. Amazon Personalize menggunakan sessionId untuk mengaitkan peristiwa dengan pengguna sebelum mereka masuk (bersifat anonim). Untuk informasi selengkapnya, lihat Merekam acara untuk pengguna anonim.

Daftar acara adalah array Event objek. An eventType diperlukan untuk setiap acara. Jika Anda tidak memiliki data tipe acara, Anda dapat memberikan nilai placeholder untuk memenuhi persyaratan.

Itu trackingId berasal dari pelacak acara yang Anda buat. Membuat pelacak peristiwa interaksi item sentAtParameteruserId,itemId, dan memetakan ke USER _ID, ITEM _ID, dan TIMESTAMP bidang dari kumpulan data historis Interactions yang sesuai. Untuk informasi selengkapnya, lihat Membuat JSON file skema untuk skema Amazon Personalize.

Kolom dataset yang sesuai

Dataset columns: USER_ID, ITEM_ID, TIMESTAMP, EVENT_TYPE Example data: user123, item-xyz, 1543631760, click

Contoh kode

SDK for Python (Boto3)
import boto3 personalize_events = boto3.client(service_name='personalize-events') personalize_events.put_events( trackingId = 'tracking_id', userId= 'USER_ID', sessionId = 'session_id', eventList = [{ 'sentAt': 1719511760, 'eventType': 'click', 'itemId': 'ITEM_ID' }] )
SDK for JavaScript v3
// Get service clients module and commands using ES6 syntax. import { PutEventsCommand } from "@aws-sdk/client-personalize-events"; import { personalizeEventsClient } from "./libs/personalizeClients.js"; // Or, create the client here. // const personalizeEventsClient = new PersonalizeEventsClient({ region: "REGION"}); // Convert your UNIX timestamp to a Date. const sentAtDate = new Date(1613443801 * 1000); // 1613443801 is a testing value. Replace it with your sentAt timestamp in UNIX format. // Set put events parameters. var putEventsParam = { eventList: [ /* required */ { eventType: "EVENT_TYPE" /* required */, sentAt: sentAtDate /* required, must be a Date with js */, eventId: "EVENT_ID" /* optional */, itemId: "ITEM_ID" /* optional */, }, ], sessionId: "SESSION_ID" /* required */, trackingId: "TRACKING_ID" /* required */, userId: "USER_ID" /* required */, }; export const run = async () => { try { const response = await personalizeEventsClient.send( new PutEventsCommand(putEventsParam), ); console.log("Success!", response); return response; // For unit tests. } catch (err) { console.log("Error", err); } }; run();
AWS CLI
aws personalize-events put-events \ --tracking-id tracking_id \ --user-id USER_ID \ --session-id session_id \ --event-list '[{ "sentAt": 1719511760, "eventType": "click", "itemId": "ITEM_ID" }]'
SDK for Java 2.x
public static void putEvents(PersonalizeEventsClient personalizeEventsClient, String trackingId, String sessionId, String userId, String itemId, String eventType) { try { Event event = Event.builder() .sentAt(Instant.ofEpochMilli(System.currentTimeMillis() + 10 * 60 * 1000)) .itemId(itemId) .eventType(eventType) .build(); PutEventsRequest putEventsRequest = PutEventsRequest.builder() .trackingId(trackingId) .userId(userId) .sessionId(sessionId) .eventList(event) .build(); int responseCode = personalizeEventsClient.putEvents(putEventsRequest) .sdkHttpResponse() .statusCode(); System.out.println("Response code: " + responseCode); } catch (PersonalizeEventsException e) { System.out.println(e.awsErrorDetails().errorMessage()); } }