创建推荐者 (Amazon开发工具包) - Amazon Personalize
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

创建推荐者 (Amazon开发工具包)

使用以下代码为域用例创建推荐者。针对每个域名使用案例运行此代码。可用的用例取决于您的域。有些用例需要特定的事件类型。有关使用案例、ARN 及其所需事件类型的列表,请参阅选择推荐用例.

SDK for Python (Boto3)

为推荐者命名,并提供域数据集组的 Amazon 资源名称 (ARN)。适用于recipeArn中,为您的使用案例提供 ARN。

import boto3 personalize = boto3.client('personalize') create_recommender_response = personalize.create_recommender( name = 'recommender name', recipeArn = 'recipe ARN', datasetGroupArn = 'dataset group ARN' ) schema_arn = createSchemaResponse['schemaArn'] print('Schema ARN:' + schema_arn )
SDK for Java 2.x

使用以下代码使用 SDK for Java 2.x 创建推荐者运行此代码为每个域用例创建推荐者。将以下内容作为参数传递:Amazon Personalize 化服务客户端、推荐者的姓名、域数据集组的 ARN (DataSetGrouPARN) 以及用例的 ARN (recipeArn)。

public static String createRecommender(PersonalizeClient personalizeClient, String name, String datasetGroupArn, String recipeArn) { long maxTime = 0; long waitInMilliseconds = 30 * 1000; // 30 seconds String recommenderStatus = ""; try { CreateRecommenderRequest createRecommenderRequest = CreateRecommenderRequest.builder() .datasetGroupArn(datasetGroupArn) .name(name) .recipeArn(recipeArn) .build(); CreateRecommenderResponse recommenderResponse = personalizeClient.createRecommender(createRecommenderRequest); String recommenderArn = recommenderResponse.recommenderArn(); System.out.println("The recommender ARN is " + recommenderArn); DescribeRecommenderRequest describeRecommenderRequest = DescribeRecommenderRequest.builder() .recommenderArn(recommenderArn) .build(); maxTime = Instant.now().getEpochSecond() + 3 * 60 * 60; while (Instant.now().getEpochSecond() < maxTime) { recommenderStatus = personalizeClient.describeRecommender(describeRecommenderRequest).recommender().status(); System.out.println("Recommender status: " + recommenderStatus); if (recommenderStatus.equals("ACTIVE") || recommenderStatus.equals("CREATE FAILED")) { break; } try { Thread.sleep(waitInMilliseconds); } catch (InterruptedException e) { System.out.println(e.getMessage()); } } return recommenderArn; } catch(PersonalizeException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } return ""; }