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 sentAt
ParameteruserId
,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());
}
}