Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Enregistrement d'un événement d'interaction avec un seul élément
Après avoir créé un ensemble de données d'interactions entre articles et un outil de suivi d'événements pour votre groupe de jeux de données, vous êtes prêt à enregistrer les événements d'interaction entre articles. L'exemple suivant montre une PutEvents
opération qui transmet un événement d'interaction avec un élément. Le schéma correspondant est affiché, ainsi qu'une ligne d'exemple tirée du jeu de données d'interactions entre articles.
Votre application génère un code unique sessionId
lorsqu'un utilisateur visite votre site Web ou utilise votre application pour la première fois. Vous devez utiliser le même sessionId
dans tous les événements de la session. Amazon Personalize utilise le sessionId
pour associer des événements à l'utilisateur avant qu'il ne se connecte (c'est anonyme). Pour de plus amples informations, veuillez consulter Enregistrement d'événements pour les utilisateurs anonymes.
La liste des événements est un tableau d'objets Event. Un eventType
est requis pour chaque événement. Si vous ne disposez pas de données sur le type d'événement, vous pouvez fournir une valeur d'espace réservé pour répondre à cette exigence.
Il trackingId
provient du système de suivi des événements que vous avez créé dansCréation d'un outil de suivi des événements liés aux interactions entre objets. Les paramètres userId
, itemId
et sentAt
sont mappés aux champs USER_ID, ITEM_ID et TIMESTAMP d'un ensemble de données Interactions
historiques correspondants. Pour de plus amples informations, veuillez consulter Création de fichiers JSON pour les schémas Amazon Personalize.
Colonnes de jeux de données correspondantes
Dataset columns: USER_ID, ITEM_ID, TIMESTAMP, EVENT_TYPE
Example data: user123, item-xyz, 1543631760, click
Exemple de code
- SDK for Python (Boto3)
-
import boto3
personalize_events = boto3.client(service_name='personalize-events')
personalize_events.put_events(
trackingId = 'tracking_id
',
userId= 'USER_ID
',
sessionId = 'session_id
',
eventList = [{
'sentAt': 1719511760
,
'eventType': 'click
',
'itemId': 'ITEM_ID
'
}]
)
- SDK for JavaScript v3
-
// Get service clients module and commands using ES6 syntax.
import { PutEventsCommand } from "@aws-sdk/client-personalize-events";
import { personalizeEventsClient } from "./libs/personalizeClients.js";
// Or, create the client here.
// const personalizeEventsClient = new PersonalizeEventsClient({ region: "REGION"});
// Convert your UNIX timestamp to a Date.
const sentAtDate = new Date(1613443801 * 1000); // 1613443801 is a testing value. Replace it with your sentAt timestamp in UNIX format.
// Set put events parameters.
const putEventsParam = {
eventList: [
/* required */
{
eventType: "EVENT_TYPE" /* required */,
sentAt: sentAtDate /* required, must be a Date with js */,
eventId: "EVENT_ID" /* optional */,
itemId: "ITEM_ID" /* optional */,
},
],
sessionId: "SESSION_ID" /* required */,
trackingId: "TRACKING_ID" /* required */,
userId: "USER_ID" /* required */,
};
export const run = async () => {
try {
const response = await personalizeEventsClient.send(
new PutEventsCommand(putEventsParam),
);
console.log("Success!", response);
return response; // For unit tests.
} catch (err) {
console.log("Error", err);
}
};
run();
- AWS CLI
-
aws personalize-events put-events \
--tracking-id tracking_id \
--user-id USER_ID
\
--session-id session_id \
--event-list '[{
"sentAt": 1719511760
,
"eventType": "click
",
"itemId": "ITEM_ID
"
}]'
- SDK for Java 2.x
-
public static void putEvents(PersonalizeEventsClient personalizeEventsClient,
String trackingId,
String sessionId,
String userId,
String itemId,
String eventType) {
try {
Event event = Event.builder()
.sentAt(Instant.ofEpochMilli(System.currentTimeMillis() + 10 * 60 * 1000))
.itemId(itemId)
.eventType(eventType)
.build();
PutEventsRequest putEventsRequest = PutEventsRequest.builder()
.trackingId(trackingId)
.userId(userId)
.sessionId(sessionId)
.eventList(event)
.build();
int responseCode = personalizeEventsClient.putEvents(putEventsRequest)
.sdkHttpResponse()
.statusCode();
System.out.println("Response code: " + responseCode);
} catch (PersonalizeEventsException e) {
System.out.println(e.awsErrorDetails().errorMessage());
}
}