Я пытаюсь использовать AWS Персонализировать. После создания набора данных и пакетного вывода я обновляю взаимодействия пользователя с элементами с помощью personalize.putEvents
(используя Javascript SDK, docs )
Snippet:
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-call?
Схема для справки:
{
"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 сообщает, что лямбда был выполнен дважды, несмотря на отсутствие ошибок и превышение тайм-аута (время ожидания установлено на 10s
, а лямбда занимает меньше 2s
). Также Retry attempts
устанавливается на 2
.