我正在尝试使用 AWS Personalize。创建数据集和批量推理后,我正在更新用户项目交互personalize.putEvents
(使用 Javascript SDK,文档)
片段:
const awsOpts = { apiVersion, accessKeyId, secretAccessKey, region }
const pEvents = new AWS.PersonalizeEvents(awsOpts)
// ...
const params = {
trackingId, userId, sessionId,
eventList: [{
eventId: (+sentAt) + "",
sentAt,
eventType,
properties: { itemId }
}]
}
pEvents.putEvents(params, (err, data) => err ? reject(err) : resolve(data))
这些事件似乎已注册。没有错误。之后,当我创建另一个批量推理时,我希望新的用户项不会再出现在推荐中。但是下一次批量推理中的建议没有改变。我做错了什么还是我误解了putEvents
-API调用?
供参考的架构:
{
"type": "record",
"name": "Interactions",
"namespace": "com.amazonaws.personalize.schema",
"fields": [
{
"name": "USER_ID",
"type": "string"
},
{
"name": "ITEM_ID",
"type": "string"
},
{
"name": "EVENT_TYPE",
"type": "string"
},
{
"name": "TIMESTAMP",
"type": "long"
}
],
"version": "1.0"
}
有一件事似乎有点奇怪:Cloud watch 报告 lambda 被执行了两次,尽管没有错误也没有超过超时(超时设置为10s
,并且 lambda 小于2s
)。也Retry attempts
设置为2
。