1 つのアイテムインタラクションイベントの記録 - Amazon Personalize

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

1 つのアイテムインタラクションイベントの記録

データセットグループのアイテムインタラクションデータセットイベントトラッカーを作成したら、アイテムインタラクションイベントを記録する準備が整います。次の例は、1 つのアイテムインタラクションイベントを渡す PutEvents オペレーションを示しています。対応するスキーマが表示され、アイテムインタラクションデータセットから行の例が表示されます。

アプリケーションは、ユーザーが最初にウェブサイトにアクセスしたとき、またはアプリケーションを使用したときに、一意の sessionId を生成します。セッション中のすべてのイベントで同じ sessionId を使用する必要があります。Amazon Personalize は、sessionId を使用して、ユーザーがログインする前にイベントをそのユーザーに関連付けます (匿名)。詳細については、「匿名ユーザー向けのイベントの記録」を参照してください。

イベントリストは Event オブジェクトの配列です。イベントごとに eventTypeが必要です。イベントタイプデータがない場合は、要件を満たすプレースホルダー値を指定できます。

trackingId は、アイテムインタラクションイベントトラッカーの作成 で作成したイベントトラッカーから取得されます。userIditemId、および sentAtパラメータは、対応する履歴Interactionsデータセットの USER_ID、ITEM_ID、および TIMESTAMPフィールドにマッピングされます。詳細については、「Amazon 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()); } }