The Amazon S3 bucket needs bucket level policy in order allow access from Amazon Personalize. Amazon Personalize should have GetObject and ListBucket policy on the bucket where the training data is stored.
Update the bucket policy for dojo-personalize-records bucket as per policy document shown below. If you created bucket with a different name then you need to update policy for that. In the policy document, the bucket name dojo-personalize-records has been mentioned. If you created bucket with a different name then you need to update the policy document with your bucket name.
{
"Version": "2012-10-17",
"Id": "PersonalizeS3BucketAccessPolicy",
"Statement": [
{
"Sid": "PersonalizeS3BucketAccessPolicy",
"Effect": "Allow",
"Principal": {
"Service": "personalize.amazonaws.com"
},
"Action": [
"s3:GetObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::dojo-personalize-records",
"arn:aws:s3:::dojo-personalize-records/*"
]
}
]
}
The next step is to import the training data in the Amazon Personalize.