

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

# 记录单个操作交互事件
<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\_ID、ACTION\_ID、EVENT\_TYPE 和 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}}'
  }]
)
```

------