ユーザーを段階的にインポートする - Amazon Personalize

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ユーザーを段階的にインポートする

Users データセットを作成したら、1 人以上の新規ユーザーをデータセットに増分的にインポートできます。ユーザーを段階的にインポートすると、ビジネスの成長に合わせて Users データセットを最新の状態に保つことができます。大量の新規ユーザーがいる場合は、まずデータを一括インポートしてから、必要に応じて増分的にユーザーデータをインポートすることをお勧めします。「一括レコードのインポート」を参照してください。

Amazon パーソナライズコンソールの「パーソナライズ」AWS Command Line Interface(AWS CLI)、またはAWSユーザーをインポートするためのSDK。同じでユーザーをインポートする場合userIdを Users データセットに既にあるユーザーとして追加すると、Amazon Personalize はそのユーザーを新しいユーザーに置き換えます。一度に最大 10 人のユーザーをインポートできます。

Amazon Personalize による新しいレコードの更新フィルタの仕組み、および新しいレコードがレコメンデーションに与える影響については、」レコードの増分インポート

ユーザーの増分インポート (console)

一度に最大 10 人のユーザーをインポートできます。この手順では、Users データセットが既に作成されていることを前提としています。データセットの作成の詳細については、「」を参照してください。ステップ 2: データセットとスキーマの作成

ユーザーを段階的にインポートするには (コンソール)

  1. で Amazon Personalize コンソールを開きます。https://console.aws.amazon.com/personalize/homeアカウントにサインインします。

  2. リポジトリの []データセットグループページで、ユーザーのインポート先となる Users データセットを含むデータセットグループを選択します。

  3. ナビゲーションペインで、[]、[] の順に選択します。データセット

  4. リポジトリの []データセットページで、Users データセットを選択します。

  5. データセットの詳細ページの右上にあるデータセットを変更を選択し、レコードを作成する

  6. リポジトリの []ユーザレコードの作成ページで、レコード入力用にユーザーの詳細を JSON 形式で入力します。ユーザーのフィールド名と値は、Users データセットを作成したときに使用したスキーマと一致しなければなりません。Amazon Personalize は、このスキーマのフィールド名とデータ型を含む JSON テンプレートを提供します。

  7. 選択レコードの作成。Eclipseレスポンスをクリックすると、インポートの結果が一覧表示され、成功または失敗のメッセージが表示されます。

ユーザーを段階的にインポートする (AWS CLI)

1 人または複数のユーザーを Users データセットに追加します。PutUsersオペレーション. 最大 10 人のユーザーを 1 つのPutUsersを呼び出します。このセクションでは、Users データセットが既に作成されていることを前提としています。データセットの作成の詳細については、「」を参照してください。ステップ 2: データセットとスキーマの作成

以下のを使用します。put-users1 人または複数のユーザーを追加するにはAWS CLI。置換dataset arnデータセットの Amazon リソースネーム (ARN) に置き換え、user Idをユーザーの ID に置き換えます。同じを持つユーザーuserIdがすでにユーザーデータセットに含まれている場合、Amazon Personalize は新しいデータセットに置き換えられます。

を使用する場合propertiesで、Users データセットの各フィールドについて、propertyNameをキャメルケースでスキーマのフィールド名に置き換えます。たとえば、Gender はになります。genderとメンバシップ_TYPEはmembershipType。置換user dataをユーザーのデータに置き換えます。カテゴリ文字列データの場合、1 つのプロパティに複数のカテゴリを含めるには、各カテゴリをパイプ (|). 例: \"Premium Class|Legacy Member\"

aws personalize-events put-users \ --dataset-arn dataset arn \ --users '[{ "userId": "user Id", "properties": "{\"propertyName\": "\user data\"}" }, { "userId": "user Id", "properties": "{\"propertyName\": "\user data\"}" }]'

ユーザーを段階的にインポートする (AWSSDK)

1 人または複数のユーザーを Users データセットに追加します。PutUsersオペレーション. 最大 10 人のユーザーを 1 つのPutUsersを呼び出します。このセクションでは、Users データセットが既に作成されていることを前提としています。データセットの作成の詳細については、「」を参照してください。ステップ 2: データセットとスキーマの作成

次のコードは、1 人または複数のユーザーを Users データセットに追加する方法を示しています。AWS SDK for Python (Boto3)またはAWS SDK for Java 2.x。

SDK for Python (Boto3)

置換dataset arnデータセットの Amazon リソースネーム (ARN) に置き換え、user Idをユーザーの ID に置き換えます。同じを持つユーザーuserIdがすでにユーザーデータセットに含まれている場合、Amazon Personalize は新しいデータセットに置き換えられます。

を使用する場合propertiesで、Users データセットの各フィールドについて、propertyNameをキャメルケースでスキーマのフィールド名に置き換えます。たとえば、Gender はになります。genderとメンバシップ_TYPEはmembershipType。置換user dataをユーザーのデータに置き換えます。カテゴリ文字列データの場合、単一のプロパティに複数のカテゴリを含めるには、各カテゴリをパイプ(|). 例: \"Premium Class|Legacy Member\"

import boto3 personalize_events = boto3.client(service_name='personalize-events') personalize_events.put_users( datasetArn = 'dataset arn', users = [{ 'userId': 'user ID', 'properties': "{\"propertyName\": \"user data\"}" }, { 'userId': 'user ID', 'properties': "{\"propertyName\": \"user data\"}" }] )
SDK for Java 2.x

以下のようになりますputUsersメソッドは、SDK for Java 2.x を使用して Users データセットに 2 人のユーザーを追加する方法を示しています。同じを持つユーザーuserIdがすでにユーザーデータセットに含まれている場合、Amazon Personalize は新しいデータセットに置き換えられます。この例では、各ユーザーは 1 つのプロパティを持ちます。Users データセットスキーマに追加のフィールドがある場合は、追加のプロパティと値のパラメーターを使用するようにコードを変更します。

プロパティ名パラメータごとに、スキーマからフィールド名をキャメルケースで渡します。たとえば、Gender はになります。genderとメンバシップ_TYPEはmembershipType。プロパティ値パラメータごとに、ユーザーのデータを渡します。カテゴリ文字列データの場合、単一のプロパティに複数のカテゴリを含めるには、各カテゴリをパイプ(|). 例: "Premium class|Legacy Member"

public static int putUsers(PersonalizeEventsClient personalizeEventsClient, String datasetArn, String user1Id, String user1PropertyName, String user1PropertyValue, String user2Id, String user2PropertyName, String user2PropertyValue) { int responseCode = 0; ArrayList<User> users = new ArrayList<>(); try { User user1 = User.builder() .userId(user1Id) .properties(String.format("{\"%1$s\": \"%2$s\"}", user1PropertyName, user1PropertyValue)) .build(); users.add(user1); User user2 = User.builder() .userId(user2Id) .properties(String.format("{\"%1$s\": \"%2$s\"}", user2PropertyName, user2PropertyValue)) .build(); users.add(user2); PutUsersRequest putUsersRequest = PutUsersRequest.builder() .datasetArn(datasetArn) .build(); responseCode = personalizeEventsClient.putUsers(putUsersRequest).sdkHttpResponse().statusCode(); System.out.println("Response code: " + responseCode); return responseCode; } catch (PersonalizeEventsException e) { System.out.println(e.awsErrorDetails().errorMessage()); } return responseCode; }