

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
<a name="importing-items"></a>

Une fois que vous [Création d'un schéma et d'un jeu de données](data-prep-creating-datasets.md) 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. Consultez [Importation de données en masse dans Amazon Personalize à l'aide d'une tâche d'importation de jeux de données](bulk-data-import-step.md).

Vous pouvez utiliser la console Amazon Personalize, le AWS Command Line Interface (AWS CLI), ou AWS SDKs 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, consultez[Importation d'enregistrements individuels dans un ensemble de données Amazon Personalize](incremental-data-updates.md). 

**Topics**
+ [Importer des éléments individuellement (console)](#importing-items-console)
+ [Importer des articles individuellement (AWS CLI)](#importing-items-cli)
+ [Importer des articles individuellement (AWS SDKs)](#importing-items-cli-sdk)

## Importer des éléments individuellement (console)
<a name="importing-items-console"></a>

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, consultez[Création d'un schéma et d'un jeu de données](data-prep-creating-datasets.md).

**Pour importer des articles individuellement (console)**

1. Ouvrez la console Amazon Personalize [https://console.aws.amazon.com/personalize/chez](https://console.aws.amazon.com/personalize/home) vous et connectez-vous à votre compte.

1. 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. 

1. Dans le volet de navigation, sélectionnez **Datasets.** 

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

1. 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**. 

1. 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.

1. 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)
<a name="importing-items-cli"></a>

Ajoutez un ou plusieurs éléments à votre jeu de données Items à l'aide de [PutItems](API_UBS_PutItems.md) 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, consultez[Création d'un schéma et d'un jeu de données](data-prep-creating-datasets.md).

Utilisez la `put-items` commande suivante pour ajouter un ou plusieurs éléments avec le AWS CLI. `dataset arn`Remplacez-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 effet`properties`, 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_TIMESTAMP`les données doivent être au [format Epoch Time Unix et exprimées](interactions-datasets.md#timestamp-data) 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}}\"}" 
    }]'
```

## Importer des articles individuellement (AWS SDKs)
<a name="importing-items-cli-sdk"></a>

Ajoutez un ou plusieurs éléments à votre jeu de données Items à l'aide de [PutItems](API_UBS_PutItems.md) 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, consultez[Création d'un schéma et d'un jeu de données](data-prep-creating-datasets.md).

 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_TIMESTAMP`les données doivent être au [format Epoch Time Unix et exprimées](interactions-datasets.md#timestamp-data) 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();
```

------