記錄單一項目互動事件 - Amazon Personalize

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

記錄單一項目互動事件

下列範例顯示傳遞一個項目互動事件的PutEvents作業。會顯示對應的結構描述,以及項目互動資料集中的範例資料列。

當用戶首次訪問您的網站或使用您的應用程序sessionId時,您的應用程序會生成唯一的。您必須在整個工作階段sessionId中的所有事件中使用相同的項目。Amazon Personalize 會使用在sessionId使用者登入之前將事件與使用者建立關聯 (匿名)。如需更多資訊,請參閱記錄匿名用戶的事件

事件清單是 Event 物件的陣列。每個事件都需要一eventType個,但在此範例中,eventType資料不會用於訓練,因為資料不包含在結構描述中。您可以提供預留位置值以滿足需求。

trackingId來自您在中建立的事件追蹤器建立項目互動事件追蹤器userIditemIdsentAt 參數對應到相應歷史 Interactions 資料集的 USER_ID、ITEM_ID 和 TIMESTAMP 欄位。如需詳細資訊,請參閱 結構描述

對應的資料集欄

Dataset columns: USER_ID, ITEM_ID, TIMESTAMP Item interactions dataset data: user123, item-xyz, 1543631760

程式碼範例

Python
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': TIMESTAMP, 'eventType': 'eventTypePlaceholder', 'itemId': 'ITEM_ID' }] )
AWS CLI
aws personalize-events put-events \ --tracking-id tracking_id \ --user-id USER_ID \ --session-id session_id \ --event-list '[{ "sentAt": TIMESTAMP, "eventType": "eventTypePlaceholder", "itemId": "ITEM_ID" }]'
SDK for Java 2.x
public static void putEvents(PersonalizeEventsClient personalizeEventsClient, String trackingId, String sessionId, String userId, String itemId) { try { Event event = Event.builder() .sentAt(Instant.ofEpochMilli(System.currentTimeMillis() + 10 * 60 * 1000)) .itemId(itemId) .eventType("typePlaceholder") .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()); } }

完成這個範例之後,您將繼續只用必要屬性來訓練模型。