항목 상호 작용 이벤트 트래커 생성 - Personalize

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

항목 상호 작용 이벤트 트래커 생성

항목 상호 작용 이벤트를 기록하려면 먼저 항목 상호 작용 이벤트 트래커를 생성해야 합니다. 이벤트 트래커는 새 이벤트 데이터를 데이터 세트 그룹의 항목 상호 작용 데이터 세트로 전달합니다.

Personalize 콘솔 또는 CreateEventTrackerAPI 작업을 사용하여 이벤트 트래커를 생성합니다. 대상 항목 상호 작용 데이터 세트가 포함된 데이터 세트 그룹의 Amazon 리소스 이름(ARN)을 파라미터로 전달합니다. Personalize 콘솔을 사용하여 이벤트 트래커를 생성하는 방법에 대한 지침은 이벤트 트래커 생성(콘솔)단원을 참조하세요.

이벤트 트래커에는 PutEvents작업 사용 시 파라미터로 전달하는 추적 ID가 포함되어 있습니다. 그러면 Amazon Personalize는 이벤트 트래커에서 지정한 데이터 세트 그룹의 항목 상호 작용 데이터 세트에 새 이벤트 데이터를 추가합니다.

참고

데이터 세트 그룹에 대해 항목 상호 작용 이벤트 트래커를 하나만 생성할 수 있습니다.

Python
import boto3 personalize = boto3.client('personalize') response = personalize.create_event_tracker( name='MovieClickTracker', datasetGroupArn='arn:aws:personalize:us-west-2:acct-id:dataset-group/MovieClickGroup' ) print(response['eventTrackerArn']) print(response['trackingId'])

이벤트 트래커 ARN과 추적 ID가 표시됩니다. 예:

{ "eventTrackerArn": "arn:aws:personalize:us-west-2:acct-id:event-tracker/MovieClickTracker", "trackingId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" }
AWS CLI
aws personalize create-event-tracker \ --name MovieClickTracker \ --dataset-group-arn arn:aws:personalize:us-west-2:acct-id:dataset-group/MovieClickGroup

이벤트 트래커 ARN과 추적 ID가 표시됩니다. 예:

{ "eventTrackerArn": "arn:aws:personalize:us-west-2:acct-id:event-tracker/MovieClickTracker", "trackingId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" }
SDK for JavaScript v3
// Get service clients module and commands using ES6 syntax. import { CreateEventTrackerCommand } from "@aws-sdk/client-personalize"; import { personalizeClient } from "./libs/personalizeClients.js"; // Or, create the client here. // const personalizeClient = new PersonalizeClient({ region: "REGION"}); // Set the event tracker's parameters. export const createEventTrackerParam = { datasetGroupArn: 'DATASET_GROUP_ARN', /* required */ name: 'NAME', /* required */ } export const run = async () => { try { const response = await personalizeClient.send(new CreateEventTrackerCommand(createEventTrackerParam)); console.log("Success", response); return response; // For unit tests. } catch (err) { console.log("Error", err); } }; run();
SDK for Java 2.x
public static String createEventTracker(PersonalizeClient personalizeClient, String eventTrackerName, String datasetGroupArn) { String eventTrackerId = null; String eventTrackerArn = null; long maxTime = 3 * 60 * 60; long waitInMilliseconds = 30 * 1000; String status; try { CreateEventTrackerRequest createEventTrackerRequest = CreateEventTrackerRequest.builder() .name(eventTrackerName) .datasetGroupArn(datasetGroupArn) .build(); CreateEventTrackerResponse createEventTrackerResponse = personalizeClient.createEventTracker(createEventTrackerRequest); eventTrackerArn = createEventTrackerResponse.eventTrackerArn(); eventTrackerId = createEventTrackerResponse.trackingId(); System.out.println("Event tracker ARN: " + eventTrackerArn); System.out.println("Event tracker ID: " + eventTrackerId); maxTime = Instant.now().getEpochSecond() + maxTime; DescribeEventTrackerRequest describeRequest = DescribeEventTrackerRequest.builder() .eventTrackerArn(eventTrackerArn) .build(); while (Instant.now().getEpochSecond() < maxTime) { status = personalizeClient.describeEventTracker(describeRequest).eventTracker().status(); System.out.println("EventTracker status: " + status); if (status.equals("ACTIVE") || status.equals("CREATE FAILED")) { break; } try { Thread.sleep(waitInMilliseconds); } catch (InterruptedException e) { System.out.println(e.getMessage()); } } return eventTrackerId; } catch (PersonalizeException e){ System.out.println(e.awsErrorDetails().errorMessage()); System.exit(1); } return eventTrackerId; }