при обновлении файла в s3 будет ли набор данных обновляться автоматически? Или мне нужно снова создать задание импорта

#python #amazon-web-services #amazon-s3 #amazon-personalize

#python #amazon-web-services #amazon-s3 #amazon-персонализация

Вопрос:

Я создал набор данных, импортировав данные из корзины s3 для Amazon personalize. Теперь у меня есть два сомнения по поводу того, как обновлять набор данных при добавлении новых пользователей или новых элементов в фактический проект.

  1. Нужно ли мне обновлять файл в самом s3? Если это единственный способ, то при обновлении файла в s3 будет ли набор данных обновляться автоматически? Или мне нужно снова создать задание на импорт.
  2. Есть ли какой-либо способ, которым мы можем обновлять элементы и пользователей, так же, как мы обновляем взаимодействия, вызывая метод put_events в api.?

https://forums.aws.amazon.com/thread.jspa?messageID=952809amp;#952809

Ответ №1:

Обновление [2020/10/13]

Персонализация недавно добавила новые конечные точки API, которые можно использовать для размещения пользователей и элементов точно так же, как взаимодействия в режиме реального времени.

Вы можете проверить это здесь: https://docs.aws.amazon.com/personalize/latest/dg/API_UBS_PutItems.html
https://docs.aws.amazon.com/personalize/latest/dg/API_UBS_PutUsers.html

Если пользователь / элемент уже существует, то он будет перезаписан новым значением.

Также невозможно удалить данного пользователя / элемент.

Если вы хотите обновить набор данных элементов / пользователей, вам нужно: 1. Экспортировать новый дамп в S3. 2. Создать новое задание импорта в Personalize. 3. Дождитесь его завершения. 4. Переобучите решения, если они у вас есть. Для обновления решения только новыми элементами / пользователями вам не нужно выполнять полную переподготовку, обновления достаточно.

Для 4. вы можете найти более подробную информацию здесь, найдите --training-mode параметр: https://docs.aws.amazon.com/cli/latest/reference/personalize/create-solution-version.html

К сожалению, нет возможности обновлять его в режиме реального времени. Самый простой способ сделать это — создать AWS Lambda, который будет обновлять его каждые несколько часов / дней, зависит от того, как часто будут меняться ваши исходные наборы данных.