public PersonalizeViewModel()
        {
            RecommendedItems = new RecommendedItems();

            MoviesRatedByUser = new MoviesRatedByUser();

            MostPopularItems = new MostPopularItems();

            PersonalizedRankingResults = new PersonalizedRankingResults();

            SimilarItems = new SimilarItems();

            PersonalizedRankingResultsForRecommendations = new PersonalizedRankingResults();
        }
コード例 #2
0
        public async Task <PersonalizedRankingResults> GetPersonalizedResults(string userId, List <Movie> movies)
        {
            PersonalizedRankingResults results = null;

            try
            {
                //USER_PERSONALIZATION -- userid required
                var request = new GetPersonalizedRankingRequest //personal-ranking
                {
                    CampaignArn =
                        AwsParameterStoreClient.GetPersonalRankingArn(),
                    UserId    = userId,
                    InputList = movies.Select(s => s.Id).ToList()
                };

                var response = await AmazonPersonalizeRuntimeClient.GetPersonalizedRankingAsync(request);

                var recommendedItems = response.PersonalizedRanking;

                var json = JsonConvert.SerializeObject(recommendedItems);

                Logger.LogInformation("GetPersonalizedResults:" + userId + ": " + json);

                results = new PersonalizedRankingResults();

                List <string> itemIds = recommendedItems.Select(s => s.ItemId).ToList();

                results.Movies = await _storageService.GetMovieData(itemIds.ToArray());

                return(results);
            }
            catch (Exception ex)
            {
                throw;
            }
        }