Importer des articles individuellement - Amazon Personalize

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Importer des articles individuellement

Une fois que vous Création d'un jeu de données et d'un schéma avez créé un jeu de données d'éléments, vous pouvez importer individuellement un ou plusieurs nouveaux éléments dans le jeu de données. L'importation individuelle d'articles vous permet de maintenir votre jeu de données d'articles à jour grâce à des importations par petits lots à mesure que votre catalogue s'agrandit. Vous pouvez importer jusqu'à 10 articles à la fois. Si vous avez un grand nombre de nouveaux articles, nous vous recommandons d'importer d'abord les données en bloc, puis d'importer les données des articles individuellement si nécessaire. veuillez consulter Importation de données directement dans les ensembles de données Amazon Personalize.

Vous pouvez utiliser la console Amazon Personalize, le AWS Command Line Interface (AWS CLI) ou AWS les SDK pour importer des articles. Si vous importez un article itemId identique à un article figurant déjà dans votre ensemble de données d'articles, Amazon Personalize le remplace par le nouvel article.

Pour plus d'informations sur la manière dont Amazon Personalize met à jour les filtres pour les nouveaux enregistrements et sur la manière dont les nouveaux enregistrements influencent les recommandations, consultezImportation d'enregistrements individuels.

Importer des éléments individuellement (console)

Vous pouvez importer jusqu'à 10 éléments à la fois dans un jeu de données d'articles. Cette procédure suppose que vous avez déjà créé un jeu de données Items. Pour plus d'informations sur la création de jeux de données, consultezCréation d'un jeu de données et d'un schéma.

Pour importer des articles individuellement (console)
  1. Ouvrez la console Amazon Personalize à l'adresse https://console.aws.amazon.com/personalize/home et connectez-vous à votre compte.

  2. Sur la page Groupes de jeux de données, choisissez le groupe de jeux de données contenant le jeu de données Éléments dans lequel vous souhaitez importer les éléments.

  3. Dans le volet de navigation, sélectionnez Datasets.

  4. Sur la page Ensembles de données, choisissez le jeu de données Items.

  5. En haut à droite de la page des détails de l'ensemble de données, choisissez Modifier le jeu de données, puis Créer un enregistrement.

  6. Dans la page Créer un ou plusieurs enregistrements d'articles, pour la saisie d'un enregistrement, entrez les détails de l'article au format JSON. Les noms et valeurs des champs de l'élément doivent correspondre au schéma que vous avez utilisé lors de la création du jeu de données Items. Amazon Personalize fournit un modèle JSON avec les noms de champs et les types de données issus de ce schéma.

  7. Choisissez Créer un ou plusieurs enregistrements. Dans Réponse, le résultat de l'importation est répertorié et un message de réussite ou d'échec s'affiche.

Importer des articles individuellement (AWS CLI)

Ajoutez un ou plusieurs éléments à votre jeu de données Items à l'aide de PutItems cette opération. Vous pouvez importer jusqu'à 10 articles en un seul PutItems appel. Cette section part du principe que vous avez déjà créé un jeu de données Items. Pour plus d'informations sur la création de jeux de données, consultezCréation d'un jeu de données et d'un schéma.

Utilisez la put-items commande suivante pour ajouter un ou plusieurs éléments avec le AWS CLI. dataset arnRemplacez-le par le Amazon Resource Name (ARN) de votre ensemble de données et item Id par l'ID de l'élément. Si un article identique itemId figure déjà dans votre ensemble de données Articles, Amazon Personalize le remplace par le nouveau.

En effetproperties, pour chaque champ de votre jeu de données Items, remplacez le propertyName par le nom du champ indiqué dans votre schéma en cas de chameau. Par exemple, GENRES serait genres et CREATION_TIMESTAMP serait CreationTimestamp. Remplacez item data par les données de l'article. CREATION_TIMESTAMPles données doivent être au format Epoch Time Unix et exprimées en secondes. Pour les données de chaîne catégorielles, afin d'inclure plusieurs catégories pour une seule propriété, séparez chaque catégorie par un tube (|). Par exemple \"Horror|Action\".

aws personalize-events put-items \ --dataset-arn dataset arn \ --items '[{ "itemId": "item Id", "properties": "{\"propertyName\": "\item data\"}" }, { "itemId": "item Id", "properties": "{\"propertyName\": "\item data\"}" }]'

Importation d'éléments individuellement (AWS SDK)

Ajoutez un ou plusieurs éléments à votre jeu de données Items à l'aide de PutItems cette opération. Vous pouvez importer jusqu'à 10 articles en un seul PutItems appel. Si un article identique itemId figure déjà dans votre ensemble de données Articles, Amazon Personalize le remplace par le nouveau. Cette section part du principe que vous avez déjà créé un jeu de données Items. Pour plus d'informations sur la création de jeux de données, consultezCréation d'un jeu de données et d'un schéma.

Le code suivant montre comment ajouter un ou plusieurs éléments à votre jeu de données Items. Pour chaque paramètre de nom de propriété, transmettez le nom du champ de votre schéma en cas de chameau. Par exemple, GENRES serait genres et CREATION_TIMESTAMP serait. creationTimestamp Pour chaque paramètre de valeur de propriété, transmettez les données de l'élément. CREATION_TIMESTAMPles données doivent être au format Epoch Time Unix et exprimées en secondes.

Pour les données de chaîne catégorielles, afin d'inclure plusieurs catégories pour une seule propriété, séparez chaque catégorie par un tube (|). Par exemple "Horror|Action".

SDK for Python (Boto3)
import boto3 personalize_events = boto3.client(service_name='personalize-events') personalize_events.put_items( datasetArn = 'dataset arn', items = [{ 'itemId': 'item ID', 'properties': "{\"propertyName\": \"item data\"}" }, { 'itemId': 'item ID', 'properties': "{\"propertyName\": \"item data\"}" }] )
SDK for Java 2.x
public static int putItems(PersonalizeEventsClient personalizeEventsClient, String datasetArn, String item1Id, String item1PropertyName, String item1PropertyValue, String item2Id, String item2PropertyName, String item2PropertyValue) { int responseCode = 0; ArrayList<Item> items = new ArrayList<>(); try { Item item1 = Item.builder() .itemId(item1Id) .properties(String.format("{\"%1$s\": \"%2$s\"}", item1PropertyName, item1PropertyValue)) .build(); items.add(item1); Item item2 = Item.builder() .itemId(item2Id) .properties(String.format("{\"%1$s\": \"%2$s\"}", item2PropertyName, item2PropertyValue)) .build(); items.add(item2); PutItemsRequest putItemsRequest = PutItemsRequest.builder() .datasetArn(datasetArn) .items(items) .build(); responseCode = personalizeEventsClient.putItems(putItemsRequest).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 { PutItemsCommand, PersonalizeEventsClient, } from "@aws-sdk/client-personalize-events"; const personalizeEventsClient = new PersonalizeEventsClient({ region: "REGION", }); // set the put items parameters var putItemsParam = { datasetArn: "DATASET ARN", items: [ { itemId: "itemId", properties: '{"column1Name": "value", "column2Name": "value"}', }, { itemId: "itemId", properties: '{"column1Name": "value", "column2Name": "value"}', }, ], }; export const run = async () => { try { const response = await personalizeEventsClient.send( new PutItemsCommand(putItemsParam) ); console.log("Success!", response); return response; // For unit tests. } catch (err) { console.log("Error", err); } }; run();