기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
단일 항목 상호 작용 이벤트 기록
데이터 세트 그룹의 항목 상호 작용 데이터 세트 및 이벤트 트래커를 생성하면 항목 상호 작용 이벤트를 기록할 준비가 된 것입니다. 다음 예제는 하나의 항목 상호 작용 이벤트를 전달하는 PutEvents
작업을 보여줍니다. 항목 상호 작용 데이터 세트의 예제 행과 함께 해당하는 스키마가 표시됩니다.
애플리케이션은 사용자가 웹 사이트를 처음 방문하거나 애플리케이션을 사용할 때 고유한 sessionId
을 생성합니다. 세션 전체의 모든 이벤트에서 동일한 sessionId
을 사용해야 합니다. Personalize는 사용자가 로그인하기 전에 sessionId
를 사용하여 이벤트를 사용자와 연결합니다(익명 처리). 자세한 내용은 익명 사용자를 위한 이벤트 기록 단원을 참조하십시오.
이벤트 목록은 Event객체의 어레이입니다. 각 이벤트에는 eventType
A가 필요합니다. 이벤트 유형 데이터가 없는 경우 요구 사항을 충족하는 자리 표시자 값을 제공할 수 있습니다.
trackingId
은 항목 상호 작용 이벤트 트래커 생성에서 생성한 이벤트 트래커에서 가져온 것입니다. userId
itemId
, 및 sentAt
매개변수는 해당하는 기록 데이터셋의 USER _ID, ITEM _ID 및 TIMESTAMP 필드에 매핑됩니다. Interactions
자세한 내용은 Personalize 스키마에 대한 스키마 JSON 파일 생성 단원을 참조하십시오.
해당 데이터 세트 열
Dataset columns: USER_ID, ITEM_ID, TIMESTAMP, EVENT_TYPE
Example data: user123, item-xyz, 1543631760, click
코드 예제
- 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());
}
}