All Downloads are FREE. Search and download functionalities are using the official Maven repository.

META-INF.smithy.personalizeevents.smithy Maven / Gradle / Ivy

$version: "2.0"

metadata suppressions = [
    {
        id: "HttpMethodSemantics"
        namespace: "*"
    }
    {
        id: "HttpResponseCodeSemantics"
        namespace: "*"
    }
    {
        id: "PaginatedTrait"
        namespace: "*"
    }
    {
        id: "HttpHeaderTrait"
        namespace: "*"
    }
    {
        id: "HttpUriConflict"
        namespace: "*"
    }
    {
        id: "Service"
        namespace: "*"
    }
]

namespace com.amazonaws.personalizeevents

use aws.api#service
use aws.auth#sigv4
use aws.protocols#restJson1

/// 

Amazon Personalize can consume real-time user event data, such as stream or click data, and use /// it for model training either alone or combined with historical data. For more information see /// Recording Events.

@service( sdkId: "Personalize Events" arnNamespace: "personalize" cloudFormationName: "PersonalizeEvents" cloudTrailEventSource: "personalizeevents.amazonaws.com" endpointPrefix: "personalize-events" ) @sigv4( name: "personalize" ) @restJson1 @title("Amazon Personalize Events") service AmazonPersonalizeEvents { version: "2018-03-22" operations: [ PutEvents PutItems PutUsers ] } ///

Records user interaction event data. For more information see /// Recording Events.

@http( method: "POST" uri: "/events" code: 200 ) operation PutEvents { input: PutEventsRequest output: Unit errors: [ InvalidInputException ] } ///

Adds one or more items to an Items dataset. For more information see /// Importing Items Incrementally. ///

@http( method: "POST" uri: "/items" code: 200 ) operation PutItems { input: PutItemsRequest output: Unit errors: [ InvalidInputException ResourceInUseException ResourceNotFoundException ] } ///

Adds one or more users to a Users dataset. For more information see /// Importing Users Incrementally.

@http( method: "POST" uri: "/users" code: 200 ) operation PutUsers { input: PutUsersRequest output: Unit errors: [ InvalidInputException ResourceInUseException ResourceNotFoundException ] } ///

Represents user interaction event information sent using the /// PutEvents API.

@sensitive structure Event { ///

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 distinquish unique events. Any subsequent events after the first with the /// same event ID are not used in model training.

eventId: StringType ///

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

@required eventType: StringType ///

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

eventValue: FloatType ///

The item ID key that corresponds to the ITEM_ID field of the Interactions schema.

itemId: ItemId ///

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 Interactions /// schema. In the above example, the numberOfRatings would match the /// 'NUMBER_OF_RATINGS' field defined in the Interactions schema.

properties: SynthesizedJsonEventPropertiesJSON ///

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

@required sentAt: Date ///

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. ///

recommendationId: RecommendationId ///

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.

impression: Impression ///

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

metricAttribution: MetricAttribution } ///

Provide a valid value for the field or parameter.

@error("client") @httpError(400) structure InvalidInputException { message: ErrorMessage } ///

Represents item metadata added to an Items dataset using the /// PutItems API. For more information see /// Importing Items Incrementally. ///

structure Item { ///

The ID associated with the item.

@required itemId: StringType ///

A string map of item-specific metadata. Each element 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 schema for the Items /// dataset. In the previous example, the numberOfRatings matches the /// 'NUMBER_OF_RATINGS' field defined in the Items schema. For categorical string data, to include multiple categories for a single item, /// separate each category with a pipe separator (|). For example, \"Horror|Action\".

properties: SynthesizedJsonItemProperties } ///

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

structure MetricAttribution { ///

The source of the event, such as a third party.

@required eventAttributionSource: EventAttributionSource } @input structure PutEventsRequest { ///

The tracking ID for the event. /// The ID is generated by a call to the /// CreateEventTracker API.

@required trackingId: StringType ///

The user associated with the event.

userId: UserId ///

The session ID associated with the user's visit. Your application generates the sessionId when a user first visits your website or uses your application. /// Amazon Personalize uses the sessionId to associate events with the user before they log in. For more information, see /// Recording Events.

@required sessionId: StringType ///

A list of event data from the session.

@required eventList: EventList } @input structure PutItemsRequest { ///

The Amazon Resource Name (ARN) of the Items dataset you are adding the item or items to.

@required datasetArn: Arn ///

A list of item data.

@required items: ItemList } @input structure PutUsersRequest { ///

The Amazon Resource Name (ARN) of the Users dataset you are adding the user or users to.

@required datasetArn: Arn ///

A list of user data.

@required users: UserList } ///

The specified resource is in use.

@error("client") @httpError(409) structure ResourceInUseException { message: ErrorMessage } ///

Could not find the specified resource.

@error("client") @httpError(404) structure ResourceNotFoundException { message: ErrorMessage } ///

Represents user metadata added to a Users dataset using the /// PutUsers API. For more information see /// Importing Users Incrementally.

structure User { ///

The ID associated with the user.

@required userId: StringType ///

A string map of user-specific metadata. Each element in the map consists of a key-value pair. /// For example, {"numberOfVideosWatched": "45"}.

///

The keys use camel case names that match the fields in the schema for the Users /// dataset. In the previous example, the numberOfVideosWatched matches the /// 'NUMBER_OF_VIDEOS_WATCHED' field defined in the Users schema. For categorical string data, /// to include multiple categories for a single user, separate each category with a pipe separator (|). /// For example, \"Member|Frequent shopper\".

properties: SynthesizedJsonUserProperties } @length( min: 1 max: 10 ) list EventList { member: Event } @length( min: 1 max: 25 ) list Impression { member: ItemId } @length( min: 1 max: 10 ) list ItemList { member: Item } @length( min: 1 max: 10 ) list UserList { member: User } @length( min: 0 max: 256 ) @pattern("^arn:([a-z\\d-]+):personalize:.*:.*:.+$") string Arn timestamp Date string ErrorMessage @length( min: 0 max: 1024 ) @pattern("^[\\x20-\\x7E]*[\\x21-\\x7E]+[\\x20-\\x7E]*$") string EventAttributionSource float FloatType @length( min: 1 max: 256 ) @sensitive string ItemId @length( min: 1 max: 40 ) string RecommendationId @length( min: 1 max: 256 ) string StringType @length( min: 1 max: 1024 ) @mediaType("application/json") @sensitive string SynthesizedJsonEventPropertiesJSON @length( min: 1 max: 24262 ) @mediaType("application/json") @sensitive string SynthesizedJsonItemProperties @length( min: 1 max: 4096 ) @mediaType("application/json") @sensitive string SynthesizedJsonUserProperties @length( min: 1 max: 256 ) @sensitive string UserId




© 2015 - 2024 Weber Informatics LLC | Privacy Policy