단일 항목 상호 작용 이벤트 기록 - Personalize

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

단일 항목 상호 작용 이벤트 기록

데이터 세트 그룹의 항목 상호 작용 데이터 세트이벤트 트래커를 생성하면 항목 상호 작용 이벤트를 기록할 준비가 된 것입니다. 다음 예제는 하나의 항목 상호 작용 이벤트를 전달하는 PutEvents 작업을 보여줍니다. 항목 상호 작용 데이터 세트의 예제 행과 함께 해당하는 스키마가 표시됩니다.

애플리케이션은 사용자가 웹 사이트를 처음 방문하거나 애플리케이션을 사용할 때 고유한 sessionId을 생성합니다. 세션 전체의 모든 이벤트에서 동일한 sessionId을 사용해야 합니다. Personalize는 사용자가 로그인하기 전에 sessionId를 사용하여 이벤트를 사용자와 연결합니다(익명 처리). 자세한 내용은 익명 사용자를 위한 이벤트 기록 단원을 참조하십시오.

이벤트 목록은 Event객체의 어레이입니다. 각 이벤트에는 eventType A가 필요합니다. 이벤트 유형 데이터가 없는 경우 요구 사항을 충족하는 자리 표시자 값을 제공할 수 있습니다.

trackingId항목 상호 작용 이벤트 트래커 생성에서 생성한 이벤트 트래커에서 가져온 것입니다. userIditemId, 및 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()); } }