Registrazione di un evento di interazione con un singolo elemento - Amazon Personalize

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'PutEventsoperazione 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.

trackingIdViene 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()); } }