Registrar um único evento de interação com itens - Amazon Personalize

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Registrar um único evento de interação com itens

Depois de criar um conjunto de dados de interações com itens e um rastreador de eventos para o grupo de conjuntos de dados, você já pode registrar eventos de interação. O exemplo a seguir mostra uma operação PutEvents que transmite um evento de interação com itens. O esquema correspondente é mostrado com uma linha de exemplo do conjunto de dados de interações com itens.

Seu aplicativo gera um sessionId exclusivo quando alguém visita seu site ou usa seu aplicativo pela primeira vez. Você deve usar o mesmo sessionId em todos os eventos durante a sessão. O Amazon Personalize usa o sessionId para associar eventos ao usuário antes que ele faça login (com anonimato). Para obter mais informações, consulte Como registrar eventos de usuários anônimos.

A lista de eventos é uma matriz de objetos Event. eventTypeÉ necessário um para cada evento. Se você não tiver dados do tipo de evento, poderá fornecer um valor de espaço reservado para atender ao requisito.

O trackingId vem do rastreador de eventos que você criou em Criar um rastreador de eventos de interação com itens. Os sentAt parâmetros userIditemId, e são mapeados para o USER _ID, ITEM _ID e os TIMESTAMP campos de um conjunto de dados histórico Interactions correspondente. Para obter mais informações, consulte Criação de JSON arquivos de esquema para esquemas do Amazon Personalize.

Colunas correspondentes do conjunto de dados

Dataset columns: USER_ID, ITEM_ID, TIMESTAMP, EVENT_TYPE Example data: user123, item-xyz, 1543631760, click

Exemplo de código

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