

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 degli eventi di interazione tra gli elementi con i dati sulle impressioni
<a name="putevents-including-impressions-data"></a>

Se usi la [Personalizzazione dell'utente](native-recipe-new-item-USER_PERSONALIZATION.md) ricetta o aggiungi il campo IMPRESSIONS allo schema per un set di dati in un gruppo di set di dati di Domain, puoi registrare i dati sulle impressioni durante l'operazione. PutEvents Le impressioni sono elenchi di elementi che erano visibili a un utente quando interagiva con (ad esempio, faceva clic o guardava) un particolare elemento. Amazon Personalize utilizza i dati sulle impressioni per guidare l'esplorazione, laddove i consigli includono elementi con meno dati o rilevanza sulle interazioni. Per informazioni sulle impressioni *implicite ed esplicite* *che* Amazon Personalize può modellare, consulta. [Dati sulle impressioni](interactions-datasets.md#interactions-impressions-data) 

**Importante**  
Se fornisci dati di impressione impliciti ed espliciti in conflitto nelle tue `PutEvents` richieste, Amazon Personalize utilizza le impressioni esplicite per impostazione predefinita.

Per registrare i consigli di Amazon Personalize che mostri ai tuoi utenti come dati sulle impressioni, includili `recommendationId` nella [PutEvents](API_UBS_PutEvents.md) richiesta e Amazon Personalize ricava le impressioni implicite in base ai dati delle tue raccomandazioni.

Per registrare manualmente i dati sulle impressioni per un evento, elenca le impressioni nel parametro di input del comando. [PutEvents](API_UBS_PutEvents.md) `impression` Il seguente esempio di codice mostra come includere a `recommendationId` e an `impression` in un' PutEvents operazione con SDK for Python (Boto3) o SDK for Java 2.x. Se includi entrambi, Amazon Personalize utilizza le impressioni esplicite per impostazione predefinita.

------
#### [ SDK for Python (Boto3) ]

```
import boto3

personalize_events = boto3.client(service_name='personalize-events')

personalize_events.put_events(
    trackingId = 'tracking_id',
    userId= 'userId',
    sessionId = 'sessionId',
    eventList = [{
        'eventId': 'event1',
        'eventType': 'rating',
        'sentAt': 1553631760,
        'itemId': 'item id',
        'recommendationId': 'recommendation id',
        'impression': ['itemId1', 'itemId2', 'itemId3']
        }]
)
```

------
#### [ SDK for Java 2.x ]

Utilizza il seguente `putEvents` metodo per registrare un evento con dati sulle impressioni e un RecommendationID. Per il parametro impressions, passa l'elenco di ItemID come. ArrayList

```
public static void putEvents(PersonalizeEventsClient personalizeEventsClient, 
                                String trackingId, 
                                String sessionId, 
                                String userId, 
                                String eventType, 
                                Float eventValue, 
                                String itemId,
                                ArrayList<String> impressions,
                                String recommendationId) {

    try { 
        Event event = Event.builder()
            .eventType(eventType)
            .sentAt(Instant.ofEpochMilli(System.currentTimeMillis() + 10 * 60 * 1000))
            .itemId(itemId)
            .eventValue(eventValue)
            .impression(impressions)
            .recommendationId(recommendationId)
            .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());
    }
}
```

------