Importación de elementos de forma individual - Amazon Personalize

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Importación de elementos de forma individual

Una vez que haya terminado Crear un esquema y un conjunto de datos para crear un conjunto de datos de elementos, puede importar individualmente uno o más elementos nuevos en el conjunto de datos. La importación individual de elementos le permite mantener actualizado su conjunto de datos de elementos con importaciones de lotes pequeños a medida que su catálogo crece. Puede importar hasta 10 elementos a la vez. Si tiene una gran cantidad de elementos nuevos, le recomendamos que primero importe los datos de forma masiva y, a continuación, los importe individualmente según sea necesario. Consulte Importación de datos masivos a Amazon Personalize con un trabajo de importación de conjuntos de datos.

Puede utilizar la consola Amazon Personalize, la AWS Command Line Interface (AWS CLI), o AWS SDKspara importar artículos. Si importa un elemento con el mismo itemId que un elemento que ya se encuentra en su conjunto de datos de elementos, Amazon Personalize lo sustituye por el nuevo elemento.

Para obtener información sobre cómo Amazon Personalize actualiza los filtros de los nuevos registros y cómo los nuevos registros influyen en las recomendaciones, consulte Importación de registros individuales a un conjunto de datos de Amazon Personalize.

Importación de elementos de forma individual (consola)

Puede importar hasta 10 elementos en un conjunto de datos de elementos a la vez. En este procedimiento, se asume que ya ha creado un conjunto de datos de elementos. Para obtener información sobre cómo crear conjuntos de datos, consulte Crear un esquema y un conjunto de datos.

Para importar elementos de forma individual (consola)
  1. Abre la consola Amazon Personalize en https://console.aws.amazon.com/personalize/casa e inicia sesión en tu cuenta.

  2. En la página Grupos de conjuntos de datos, elija el grupo de conjuntos de datos con el conjunto de datos de elementos al que desee importar los elementos.

  3. Elija Conjuntos de datos en el panel de navegación.

  4. En la página Conjuntos de datos, elija el conjunto de datos de elementos.

  5. En la parte superior derecha de la página de detalles del conjunto de datos, elija Modificar conjunto de datos y, a continuación, Crear registro.

  6. En la página Crear registros de artículos, en Introducir registros, introduce los detalles del artículo en JSON formato. Los nombres y valores de los campos del elemento deben coincidir con el esquema que utilizó al crear el conjunto de datos de elementos. Amazon Personalize proporciona una JSON plantilla con los nombres de los campos y los tipos de datos de este esquema.

  7. Elija Crear registros. En Respuesta, se muestra el resultado de la importación y un mensaje de éxito o error.

Importación de artículos individualmente (AWS CLI)

Agregue uno o más elementos a su conjunto de datos de elementos mediante la operación PutItems. Puede importar hasta 10 elementos con una sola llamada PutItems. En esta sección, se asume que ya ha creado un conjunto de datos de elementos. Para obtener información sobre cómo crear conjuntos de datos, consulte Crear un esquema y un conjunto de datos.

Utilice el siguiente put-items comando para añadir uno o más elementos con la AWS CLI. dataset arnSustitúyalo por el nombre del recurso de Amazon (ARN) de tu conjunto item Id de datos y por el ID del elemento. Si un elemento con el mismo itemId ya se encuentra en su conjunto de datos de elementos, Amazon Personalize lo sustituye por el nuevo.

Para properties, para cada campo de su conjunto de datos de elementos, sustituya propertyName por el nombre del campo de su esquema en formato camel case. Por ejemplo, GENRES sería genres y CREATION _ TIMESTAMP seríacreationTimestamp. Sustituya los item data por los datos del elemento. Los datos de CREATION_TIMESTAMP deben estar en formato de tiempo Unix y en segundos. En el caso de los datos de cadena categóricos, para incluir varias categorías para un sola propiedad, separe cada categoría con un separador vertical (|). Por ejemplo, \"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\"}" }]'

Importación de artículos individualmente (AWS SDKs)

Agregue uno o más elementos a su conjunto de datos de elementos mediante la operación PutItems. Puede importar hasta 10 elementos con una sola llamada PutItems. Si un elemento con el mismo itemId ya se encuentra en su conjunto de datos de elementos, Amazon Personalize lo sustituye por el nuevo. En esta sección, se asume que ya ha creado un conjunto de datos de elementos. Para obtener información sobre cómo crear conjuntos de datos, consulte Crear un esquema y un conjunto de datos.

El siguiente código muestra cómo añadir uno o más elementos a su conjunto de datos de elementos. Para cada parámetro de nombre de propiedad, pase el nombre del campo de su esquema en formato camel case. Por ejemplo, GENRES sería genres y CREATION _ TIMESTAMP seríacreationTimestamp. Para cada parámetro de valor de la propiedad, pase los datos para el elemento. Los datos de CREATION_TIMESTAMP deben estar en formato de tiempo Unix y en segundos.

En el caso de los datos de cadena categóricos, para incluir varias categorías para un sola propiedad, separe cada categoría con un separador vertical (|). Por ejemplo, "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();