Class Event
- All Implemented Interfaces:
Serializable
,SdkPojo
,ToCopyableBuilder<Event.Builder,
Event>
Represents item interaction event information sent using the PutEvents
API.
- See Also:
-
Nested Class Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic Event.Builder
builder()
final boolean
final boolean
equalsBySdkFields
(Object obj) Indicates whether some other object is "equal to" this one by SDK fields.final String
eventId()
An ID associated with the event.final String
The type of event, such as click or download.final Float
The event value that corresponds to theEVENT_VALUE
field of the Item interactions schema.final <T> Optional
<T> getValueForField
(String fieldName, Class<T> clazz) final int
hashCode()
final boolean
For responses, this returns true if the service returned a value for the Impression property.A list of item IDs that represents the sequence of items you have shown the user.final String
itemId()
The item ID key that corresponds to theITEM_ID
field of the Item interactions dataset's schema.final MetricAttribution
Contains information about the metric attribution associated with an event.final String
A string map of event-specific data that you might choose to record.final String
The ID of the list of recommendations that contains the item the user interacted with.final Instant
sentAt()
The timestamp (in Unix time) on the client side when the event occurred.static Class
<? extends Event.Builder> Take this object and create a builder that contains all of the current property values of this object.final String
toString()
Returns a string representation of this object.Methods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder
copy
-
Method Details
-
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
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
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
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
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
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
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 arecommendationId
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 arecommendationId
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 theisEmpty()
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
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
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
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 interfaceToCopyableBuilder<Event.Builder,
Event> - Returns:
- a builder for type T
-
builder
-
serializableBuilderClass
-
hashCode
public final int hashCode() -
equals
-
equalsBySdkFields
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 anSdkPojo
class, and is generated based on a service model.If an
SdkPojo
class does not have any inherited fields,equalsBySdkFields
andequals
are essentially the same.- Specified by:
equalsBySdkFields
in interfaceSdkPojo
- Parameters:
obj
- the object to be compared with- Returns:
- true if the other object equals to this object by sdk fields, false otherwise.
-
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. -
getValueForField
-
sdkFields
-