Update [2020/10/13]
Personalize recently added a new API endpoints, that can be used for putting Users and Items just like Interactions in real-time.
You can check it out here:
https://docs.aws.amazon.com/personalize/latest/dg/API_UBS_PutItems.html
https://docs.aws.amazon.com/personalize/latest/dg/API_UBS_PutUsers.html
If User/Item already exists, then it will be overwritten with a new value.
It's also impossible to remove given User/Item.
If you want to update Items/Users dataset, you have to:
1. Export a new dump into S3.
2. Create a new import job in Personalize.
3. Wait for it to finish.
4. Retrain Solutions if you have any. For updating Solution with just new Items/Users, you don't need to do full retraining, update is enough.
For 4. you can find more details here, look for --training-mode
parameter:
https://docs.aws.amazon.com/cli/latest/reference/personalize/create-solution-version.html
Unfortunately there is no option to update it in real-time. The easiest way to do it, is to create AWS Lambda, which will update it every few hours/days, depends how often your source datasets will change.