java.lang.Object
software.amazon.awssdk.services.personalizeevents.model.Event
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<Event.Builder,Event>

@Generated("software.amazon.awssdk:codegen") public final class Event extends Object implements SdkPojo, Serializable, ToCopyableBuilder<Event.Builder,Event>

Represents item interaction event information sent using the PutEvents API.

See Also:
  • Method Details

    • eventId

      public final String eventId()

      An ID associated with the event. If an event ID is not provided, Amazon Personalize generates a unique ID for the event. An event ID is not used as an input to the model. Amazon Personalize uses the event ID to distinguish unique events. Any subsequent events after the first with the same event ID are not used in model training.

      Returns:
      An ID associated with the event. If an event ID is not provided, Amazon Personalize generates a unique ID for the event. An event ID is not used as an input to the model. Amazon Personalize uses the event ID to distinguish unique events. Any subsequent events after the first with the same event ID are not used in model training.
    • eventType

      public final String eventType()

      The type of event, such as click or download. This property corresponds to the EVENT_TYPE field of your Item interactions dataset's schema and depends on the types of events you are tracking.

      Returns:
      The type of event, such as click or download. This property corresponds to the EVENT_TYPE field of your Item interactions dataset's schema and depends on the types of events you are tracking.
    • eventValue

      public final Float eventValue()

      The event value that corresponds to the EVENT_VALUE field of the Item interactions schema.

      Returns:
      The event value that corresponds to the EVENT_VALUE field of the Item interactions schema.
    • itemId

      public final String itemId()

      The item ID key that corresponds to the ITEM_ID field of the Item interactions dataset's schema.

      Returns:
      The item ID key that corresponds to the ITEM_ID field of the Item interactions dataset's schema.
    • properties

      public final String properties()

      A string map of event-specific data that you might choose to record. For example, if a user rates a movie on your site, other than movie ID (itemId) and rating (eventValue) , you might also send the number of movie ratings made by the user.

      Each item in the map consists of a key-value pair. For example,

      {"numberOfRatings": "12"}

      The keys use camel case names that match the fields in the Item interactions dataset's schema. In the above example, the numberOfRatings would match the 'NUMBER_OF_RATINGS' field defined in the Item interactions dataset's schema.

      The following can't be included as a keyword for properties (case insensitive).

      • userId

      • sessionId

      • eventType

      • timestamp

      • recommendationId

      • impression

      Returns:
      A string map of event-specific data that you might choose to record. For example, if a user rates a movie on your site, other than movie ID (itemId) and rating (eventValue) , you might also send the number of movie ratings made by the user.

      Each item in the map consists of a key-value pair. For example,

      {"numberOfRatings": "12"}

      The keys use camel case names that match the fields in the Item interactions dataset's schema. In the above example, the numberOfRatings would match the 'NUMBER_OF_RATINGS' field defined in the Item interactions dataset's schema.

      The following can't be included as a keyword for properties (case insensitive).

      • userId

      • sessionId

      • eventType

      • timestamp

      • recommendationId

      • impression

    • sentAt

      public final Instant sentAt()

      The timestamp (in Unix time) on the client side when the event occurred.

      Returns:
      The timestamp (in Unix time) on the client side when the event occurred.
    • recommendationId

      public final String recommendationId()

      The ID of the list of recommendations that contains the item the user interacted with. Provide a recommendationId to have Amazon Personalize implicitly record the recommendations you show your user as impressions data. Or provide a recommendationId if you use a metric attribution to measure the impact of recommendations.

      For more information on recording impressions data, see Recording impressions data. For more information on creating a metric attribution see Measuring impact of recommendations.

      Returns:
      The ID of the list of recommendations that contains the item the user interacted with. Provide a recommendationId to have Amazon Personalize implicitly record the recommendations you show your user as impressions data. Or provide a recommendationId if you use a metric attribution to measure the impact of recommendations.

      For more information on recording impressions data, see Recording impressions data. For more information on creating a metric attribution see Measuring impact of recommendations.

    • hasImpression

      public final boolean hasImpression()
      For responses, this returns true if the service returned a value for the Impression property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • impression

      public final List<String> impression()

      A list of item IDs that represents the sequence of items you have shown the user. For example, ["itemId1", "itemId2", "itemId3"]. Provide a list of items to manually record impressions data for an event. For more information on recording impressions data, see Recording impressions data.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasImpression() method.

      Returns:
      A list of item IDs that represents the sequence of items you have shown the user. For example, ["itemId1", "itemId2", "itemId3"]. Provide a list of items to manually record impressions data for an event. For more information on recording impressions data, see Recording impressions data.
    • metricAttribution

      public final MetricAttribution metricAttribution()

      Contains information about the metric attribution associated with an event. For more information about metric attributions, see Measuring impact of recommendations.

      Returns:
      Contains information about the metric attribution associated with an event. For more information about metric attributions, see Measuring impact of recommendations.
    • toBuilder

      public Event.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<Event.Builder,Event>
      Returns:
      a builder for type T
    • builder

      public static Event.Builder builder()
    • serializableBuilderClass

      public static Class<? extends Event.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.