

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

# 记录单个操作交互事件
<a name="record-single-action-interaction"></a>

创建操作交互数据集后，就可以通过 [PutActionInteractions](API_UBS_PutActionInteractions.md) 操作记录操作交互事件了。以下代码显示一个用于传递 TAKEN 事件的 `PutActionInteractions` 操作。当您向某个用户展示来自 Amazon Personalize 的建议并且他们采取操作（例如申请您的信用卡）时，您可能会记录此事件。

`actionInteractions`是一个 ActionInteraction 对象数组。`trackingId` 来自 Amazon Personalize 在您创建操作交互数据集时创建的事件跟踪器。有关更多信息，请参阅 [查找您的操作交互事件跟踪器的 ID](action-interaction-tracker-id.md)。

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

`userId`、`actionId` 和 `sentAt` 参数映射到操作交互数据集的 USER\$1ID、ACTION\$1ID、EVENT\$1TYPE 和 TIMESTAMP 字段。

**相应的操作交互数据集**

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

**代码示例**

------
#### [ AWS 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'
  }]
)
```

------