#amazon-web-services #amazon-personalize #aws-sdk-java
#amazon-веб-сервисы #amazon-персонализация #aws-sdk-java
Вопрос:
Может ли кто-нибудь помочь с началом использования AWS Java SDK для персонализации? Я использовал консоль для создания кампании. Теперь я хочу запросить рекомендации, используя Java.
У Amazon есть много примеров на Python, но мне нужна Java. Особенно полезно начинать с client Builder.
Спасибо.
Ответ №1:
Для запроса рекомендаций с помощью Java V2 используется объект PersonalizeRuntimeClient.
Вот пример, в котором используется Java V2. Полные примеры будут опубликованы в Java V2 на Github очень скоро.
**
package com.example.personalize;
//snippet-start:[personalize.java2.get_recommendations.import]
import software.amazon.awssdk.awscore.exception.AwsServiceException;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.personalizeruntime.PersonalizeRuntimeClient;
import software.amazon.awssdk.services.personalizeruntime.model.GetRecommendationsRequest;
import software.amazon.awssdk.services.personalizeruntime.model.GetRecommendationsResponse;
import software.amazon.awssdk.services.personalizeruntime.model.PredictedItem;
import java.util.List;
//snippet-end:[personalize.java2.get_recommendations.import]
public class GetRecommendations {
public static void main(String[] args) {
final String USAGE = "n"
"Usage:n"
" GetRecommendations <campaignArn> <userId>nn"
"Where:n"
" campaignArn - The ARN of the campaign.nn"
" userId - The user ID to provide recommendations fornn";
if (args.length < 2) {
System.out.println(USAGE);
System.exit(1);
}
/* Read the name from command args */
String campaignArn = args[0];
String userId = args[1];
Region region = Region.US_EAST_1;
PersonalizeRuntimeClient personalizeRuntimeClient = PersonalizeRuntimeClient.builder()
.region(region)
.build();
getRecs(personalizeRuntimeClient, campaignArn, userId);
}
//snippet-start:[personalize.java2.get_recommendations.main]
public static void getRecs(PersonalizeRuntimeClient personalizeRuntimeClient, String campaignArn, String userId){
try {
GetRecommendationsRequest recommendationsRequest = GetRecommendationsRequest.builder()
.campaignArn(campaignArn)
.numResults(20)
.userId(userId)
.build();
GetRecommendationsResponse recommendationsResponse = personalizeRuntimeClient.getRecommendations(recommendationsRequest);
List<PredictedItem> items = recommendationsResponse.itemList();
for (PredictedItem item: items) {
System.out.println("Item Id is : " item.itemId());
System.out.println("Item score is : " item.score());
}
} catch (AwsServiceException e) {
System.err.println(e.awsErrorDetails().errorMessage());
System.exit(1);
}
}
//snippet-end:[personalize.java2.get_recommendations.main]
}
**
Комментарии:
1. Примеры Github находятся здесь — github.com/awsdocs/aws-doc-sdk-examples/tree/master/javav2 /…