记录单个物品交互事件 - Amazon Personalize
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

记录单个物品交互事件

以下示例显示了用于传递一个物品交互事件的 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' }] )
Amazon 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()); } }

在本示例中,您将仅使用所需属性来继续训练模型。