ユーザーの個別インポート - Amazon Personalize

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

ユーザーの個別インポート

スキーマとデータセットの作成 を完了してユーザーデータセットを作成したら、1 名以上の新しいユーザーをデータセットに個別的にインポートできます。ユーザーを個別インポートすると、カタログの拡大に合わせてユーザーデータセットを小さなバッチインポートで最新の状態に保つことができます。一度に最大 10 名のユーザーをインポートできます。新しいユーザーが大量にある場合は、最初にデータを一括でインポートしてから、必要に応じてユーザーデータを個別にインポートすることをお勧めします。「データセットインポートジョブを使用してバルクデータを Amazon Personalize にインポートする」を参照してください。

Amazon Personalize コンソール、 AWS Command Line Interface (AWS CLI)、または AWS SDKsを使用してユーザーをインポートできます。Users データセットに既に存在するユーザーと同じ userId でユーザーをインポートすると、Amazon Personalize はそのユーザーを新しいユーザーに置き換えます。一度に最大 10 名のユーザーをインポートできます。

Amazon Personalize が新しいレコードのフィルターを更新する方法、および新しいレコードがレコメンデーションにどのように影響するかについては、「Amazon Personalize データセットへの個々のレコードのインポート」を参照してください。

ユーザーの個別インポート (コンソール)

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

ユーザーを個別にインポートするには (コンソール)
  1. https://console.aws.amazon.com/personalize/home で Amazon Personalize コンソールを開き、アカウントにサインインします。

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

  3. ナビゲーションペインで、[Datasets] (データセット) を選択します。

  4. [Datasets] (データセット) のページで、[Users dataset] (ユーザーデータセット) を選択します。

  5. データセットの詳細のページの右上にある [Modify dataset] (データセットを変更) を選択し、[Create record] (レコードを作成) を選択します。

  6. [Create user record(s)] (ユーザーレコードを作成) のページのレコードの入力で、ユーザーの詳細を JSON 形式で入力します。ユーザーのフィールドの名前と値は、Users データセットを作成したときに使用したスキーマと一致する必要があります。Amazon Personalize は、このスキーマのフィールド名とデータ型を含む JSON テンプレートを提供します。

  7. [Create record(s)] (レコードを作成) を選択します。[レスポンス] では、インポートの結果が一覧表示され、成功または失敗のメッセージが表示されます。

ユーザーを個別にインポートする (AWS CLI)

PutUsers 操作を使用して、1 名以上のユーザーを Users データセットに追加します。1 回の PutUsers コールで最大 10 名のユーザーをインポートできます。このセクションでは、Users データセットが既に作成されていることを前提としています。データセットの作成については、「スキーマとデータセットの作成」を参照してください。

次の put-users コマンドを使用して、 AWS CLIで 1 名以上のユーザーを追加します。dataset arn をデータセットの Amazon リソースネーム (ARN) に、user Id をユーザーの ID に、それぞれ置き換えます。同じ userId を持つユーザーが既に Users データセットにある場合、Amazon Personalize はそれを新しいものに置き換えます。

properties の場合、Users データセットの各フィールドについて、propertyName を、スキーマのフィールド名 (キャメルケース) に置き換えます。例えば、GENDER は gender になり、MEMBERSHIP_TYPE は membershipType になります。user data をユーザーのデータに置き換えます。カテゴリ文字列データについて、単一のプロパティに複数のカテゴリを含めるには、各カテゴリをパイプ (|) で区切ります。例えば、 です\"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\"}" }]'

ユーザーを個別にインポートAWS SDKs)

PutUsers 操作を使用して、1 名以上のユーザーを Users データセットに追加します。同じ userId を持つユーザーが既に Users データセットにある場合、Amazon Personalize はそれを新しいものに置き換えます。1 回の PutUsers コールで最大 10 名のユーザーをインポートできます。このセクションでは、Users データセットが既に作成されていることを前提としています。データセットの作成については、「スキーマとデータセットの作成」を参照してください。

次のコードは、1 名以上のユーザーをユーザーデータセットに追加する方法を示しています。各プロパティ名パラメータについて、スキーマのフィールド名 (キャメルケース) を渡します。例えば、GENDER は gender になり、MEMBERSHIP_TYPE は membershipType になります。各プロパティ値パラメータについて、ユーザーにデータを渡します。

カテゴリ文字列データについて、単一のプロパティに複数のカテゴリを含めるには、各カテゴリをパイプ (|) で区切ります。例えば、 です"Premium class|Legacy Member"

SDK for Python (Boto3)
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
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; }
SDK for JavaScript v3
import { PutUsersCommand, PersonalizeEventsClient, } from "@aws-sdk/client-personalize-events"; const personalizeEventsClient = new PersonalizeEventsClient({ region: "REGION", }); // set the put users parameters var putUsersParam = { datasetArn: "DATASET ARN", users: [ { userId: "userId", properties: '{"column1Name": "value", "column2Name": "value"}', }, { userId: "userId", properties: '{"column1Name": "value", "column2Name": "value"}', }, ], }; export const run = async () => { try { const response = await personalizeEventsClient.send( new PutUsersCommand(putUsersParam) ); console.log("Success!", response); return response; // For unit tests. } catch (err) { console.log("Error", err); } }; run();