Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Registrazione di un evento di interazione con un singolo elemento
Dopo aver creato un set di dati sulle interazioni tra elementi e un tracker di eventi per il gruppo di set di dati, sei pronto per registrare gli eventi di interazione tra gli elementi. L'esempio seguente mostra un'PutEvents
operazione che trasmette un evento di interazione tra elementi. Viene mostrato lo schema corrispondente, insieme a una riga di esempio del set di dati Item interaction.
L'applicazione genera un codice univoco sessionId
quando un utente visita per la prima volta il sito Web o utilizza l'applicazione. È necessario utilizzare lo stesso sessionId
in tutti gli eventi durante la sessione. Amazon Personalize lo utilizza sessionId
per associare gli eventi all'utente prima che effettui l'accesso (è anonimo). Per ulteriori informazioni, consulta Registrazione di eventi per utenti anonimi.
L'elenco degli eventi è un array di oggetti Event. Un eventType
è obbligatorio per ogni evento. Se non disponi di dati sul tipo di evento, puoi fornire un valore segnaposto per soddisfare il requisito.
trackingId
Viene dal tracker di eventi in cui hai creato. Creazione di un tracker degli eventi relativi all'interazione tra gli elementi I parametri userId
, itemId
e sentAt
sono mappati ai campi USER_ID, ITEM_ID e TIMESTAMP di un corrispondente set di dati Interactions
storico. Per ulteriori informazioni, consulta Creazione di file JSON di schema per schemi Amazon Personalize.
Colonne corrispondenti del set di dati
Dataset columns: USER_ID, ITEM_ID, TIMESTAMP, EVENT_TYPE
Example data: user123, item-xyz, 1543631760, click
Esempio di codice
- 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());
}
}