使用 PutActionInteractions 操作 - Amazon Personalize
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用 PutActionInteractions 操作

创建操作交互数据集后,就可以通过 PutActionInteractions 操作记录操作交互事件了。以下各节介绍如何记录单个事件以及如何使用事件值数据记录多个事件。

记录单个操作交互事件

以下代码显示一个用于传递 TAKEN 事件的 PutActionInteractions 操作。当您向某个用户展示来自 Amazon Personalize 的建议并且他们采取操作(例如申请您的信用卡)时,您可能会记录此事件。

actionInteractions 是 ActionInteraction 对象的数组。trackingId 来自 Amazon Personalize 在您创建操作交互数据集时创建的事件跟踪器。有关更多信息,请参阅查找您的操作交互事件跟踪器的 ID

当用户首次访问您的网站或使用您的应用程序时,您的应用程序会生成唯一 sessionId。在整个会话中,您必须在所有活动中使用相同的 sessionId。Amazon Personalize 在用户登录(匿名用户)之前使用 sessionId 将事件与用户关联起来。有关更多信息,请参阅为匿名用户记录事件

userIdactionIdsentAt 参数映射到操作交互数据集的 USER_ID、ACTION_ID、EVENT_TYPE 和 TIMESTAMP 字段。

相应的操作交互数据集

USER_ID, ACTION_ID, TIMESTAMP, EVENT_TYPE user123, action-xyz, 1543631760, TAKEN

代码示例

Amazon CLI
aws personalize-events put-action-interactions \ --tracking-id 12345678-xxxx-xxxx-xxxx-xxxxxxxxxxxx \ --action-interactions '[{ "userId": "user123", "sessionId": "abcdefg", "timestamp": 1543631760, "eventType": "TAKEN", "actionId": "action-xyz"}]'
SDK for Python (Boto3)
import boto3 personalize_events = boto3.client(service_name='personalize-events') response = personalize_events.put_action_interactions( trackingId='12345678-xxxx-xxxx-xxxx-xxxxxxxxxxxx', actionInteractions=[{ 'userId': 'user123', 'sessionId': 'abcdefg', 'timestamp': 1543631760, 'eventType': 'Taken', 'actionId': 'action-xyz' }] )

记录多个操作交互事件

以下代码显示如何为具有相同 sessionId 的同一个用户记录多个操作交互事件。

相应的操作交互数据集

USER_ID, ACTION_ID, EVENT_TYPE, TIMESTAMP user123, action123, Taken, 1543531139 user123, action345, Not Taken, 1543531139
Amazon CLI
aws personalize-events put-action-interactions \ --tracking-id 6ddfe6b7-cd83-4dd4-b09d-4c35ecbacfe1 \ --action-interactions '[{ "userId": "user123", "sessionId": "abcdefg", "timestamp": 1543531139, "eventType": "Taken", "actionId": "action123" }, { "userId": "user123", "sessionId": "abcdefg", "timestamp": 1543531139, "eventType": "Not Taken", "actionId": "action345"}]'
SDK for Python (Boto3)
import boto3 personalize_events = boto3.client(service_name='personalize-events') response = personalize_events.put_action_interactions( trackingId='12345678-xxxx-xxxx-xxxx-xxxxxxxxxxxx', actionInteractions=[{ 'userId': 'user123', 'sessionId': 'abcdefg', 'timestamp': 1697848587, 'eventType': 'Taken', 'actionId': 'action123' }, { 'userId': 'user123', 'sessionId': 'abcdefg', 'timestamp': 1697848622, 'eventType': 'Not Taken', 'actionId': 'action345' }] )