Send your event data from RudderStack to AWS Personalize.
5 minute read
Amazon Personalize is a machine learning service by AWS. It enables you to create high-quality content recommendations, personalized product and marketing promotions, and much more.
RudderStack supports AWS Personalize as a destination where you can send your event data seamlessly.
You will see this field only if Role-based Authentication is enabled.
Enter the ARN of the IAM role in this field.
Access Key ID
You will see this field only if Role-based Authentication is disabled.
Enter your AWS Access Key ID in this field.
Secret Access Key
Enter the corresponding secret access key in this field.
Region
Enter the region associated with your AWS account in this field.
In both role-based and access key-based authentication methods, you will need to set a policy specifying the required permissions for RudderStack to send data to Personalize.
Enter the Tracking ID generated in the Prerequisites section above.
Dataset ARN
Enter the dataset ARN of the dataset from the chosen dataset group.
Operational choice settings
Setting
Description
Personalize Events
Select the type of Personalize event you want to avail from the dropdown. RudderStack supports the following Personalize events:
PutEvents
PutItems
PutUsers
Mapping settings
Setting
Description
Map all fields
Enter the Schema Field used to create the schema in AWS Personalize (for example, USER_ID, TIMESTAMP, ITEM_ID, etc.).
Then, enter the corresponding Mapped Field — RudderStack takes the value from this field present in the event payload and maps it to the value specified in the Schema Field.
When using the PutItems operation, you need to provide the path to the Mapped Field corresponding to the ITEM_ID present in your Personalize database schema.
Disable stringifying additional properties
Turn on this toggle to disable the conversion of additional properties to string data type in Personalize.
This is an exclusive setting only applicable for the putEvents operation.
If it is disabled, RudderStack converts any mapped fields other than ITEM_ID, EVENT_VALUE, IMPRESSION, RECOMMENDATION_ID, TIMESTAMP, EVENT_TYPE, and USER_ID to a string before forwarding to Personalize.
Policy permissions
To send data to Personalize correctly, you need to create an IAM role and grant the necessary permissions for RudderStack.
The following actions need to be attached to the role while setting up the AWS policy:
You can use these actions based on the type of Personalize events you want to send. For example, to send only putEvents type of events, you can attach only personalize:PutEvents.
A sample permissions policy that allows a user to send event data into Personalize is shown below:
You can use the track call to send data to Personalize using the PutEvents and PutItems operations.
Note that:
For PutEvents, RudderStack sends the value of the event field in the payload as EVENT_TYPE. Also, the value of the timestamp or originalTimestamp fields in the payload is sent as sentAt.
For the PutItems and PutEvents operations, you must specify the Dataset ARN and Tracking ID settings in the RudderStack dashboard settings.
The following snippet shows a sample track event with the mapped fields specified in the RudderStack dashboard settings:
When using the PutItems operation, you must map the Schema FieldITEM_ID to a specific key in the event payload. You also need to mention the path to the chosen key as the corresponding Mapped Field.
In the above example, if you map ITEM_ID to the field X, the corresponding Mapped Field will be properties.X.
For any other Schema Field in your ITEMS dataset, RudderStack does not recommend specifying the path — only the field name is sufficient.
The following image shows an example of the dashboard configuration for PutItems:
Using the PutEvents operation
When using the PutEvents operation, the Mapped Field for ITEM_ID should not contain the path to the field — only the name of the field is sufficient. The same rule is applicable for any other Schema Field mapping.
The following image shows an example of the dashboard configuration for PutEvents:
This site uses cookies to improve your experience while you navigate through the website. Out of
these
cookies, the cookies that are categorized as necessary are stored on your browser as they are as
essential
for the working of basic functionalities of the website. We also use third-party cookies that
help
us
analyze and understand how you use this website. These cookies will be stored in your browser
only
with
your
consent. You also have the option to opt-out of these cookies. But opting out of some of these
cookies
may
have an effect on your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. This
category only includes cookies that ensures basic functionalities and security
features of the website. These cookies do not store any personal information.
This site uses cookies to improve your experience. If you want to
learn more about cookies and why we use them, visit our cookie
policy. We'll assume you're ok with this, but you can opt-out if you wish Cookie Settings.