

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 usuarios de forma individual
<a name="importing-users"></a>

 Una vez que haya terminado [Creación de un esquema y un conjunto de datos](data-prep-creating-datasets.md) para crear un conjunto de datos de usuarios, puede importar individualmente uno o más usuarios nuevos en el conjunto de datos. La importación individual de usuarios le permite mantener actualizado su conjunto de datos de usuarios con importaciones de lotes pequeños a medida que su catálogo crece. Puede importar hasta 10 usuarios a la vez. Si tiene una gran cantidad de usuarios 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 en Amazon Personalize con un trabajo de importación de conjuntos de datos](bulk-data-import-step.md). 

Puedes usar la consola Amazon Personalize, la AWS Command Line Interface (AWS CLI) o AWS SDKs para importar usuarios. Si importa un usuario con el mismo `userId` que un usuario que ya se encuentra en su conjunto de datos de usuarios, Amazon Personalize lo sustituye por el nuevo elemento. Puede importar hasta 10 usuarios a la vez.

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](incremental-data-updates.md). 

**Topics**
+ [Importación de usuarios de forma individual (consola)](#importing-users-console)
+ [Importación de usuarios de forma individual (AWS CLI)](#importing-users-cli)
+ [Importación de usuarios de forma individual (AWS SDKs)](#importing-users-sdk)

## Importación de usuarios de forma individual (consola)
<a name="importing-users-console"></a>

Puede importar hasta 10 usuarios a la vez. En este procedimiento, se presupone que ya ha creado un conjunto de datos de usuarios. Para obtener información sobre cómo crear conjuntos de datos, consulte [Creación de un esquema y un conjunto de datos](data-prep-creating-datasets.md).

**Para importar usuarios de forma individual (consola)**

1. Abre la consola Amazon Personalize en [https://console.aws.amazon.com/personalize/casa](https://console.aws.amazon.com/personalize/home) e inicia sesión en tu cuenta.

1. En la página **Grupos de conjuntos de datos**, elija el grupo de conjuntos de datos con el conjunto de datos de usuarios al que desee importar el usuario. 

1. Elija **Conjuntos de datos** en el panel de navegación. 

1. En la página **Conjuntos de datos**, elija el conjunto de datos de usuarios. 

1. En la página de detalles del conjunto de datos, en la parte superior derecha, elija **Modificar conjunto de datos** y **Crear registro**. 

1. En la página **Crear registros de usuario**, para la entrada de registro, introduzca los detalles del usuario en formato JSON. Los nombres y valores de los campos del usuario deben coincidir con el esquema que utilizó al crear el conjunto de datos de usuarios. Amazon Personalize proporciona una plantilla JSON con nombres de campos y tipos de datos de este esquema. 

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

## Importación de usuarios de forma individual (AWS CLI)
<a name="importing-users-cli"></a>

Agregue uno o más usuarios a su conjunto de datos de usuarios mediante la operación [PutUsers](API_UBS_PutUsers.md). Puede importar hasta 10 usuarios con una sola llamada `PutUsers`. En esta sección se supone que ya ha creado un conjunto de datos de usuarios. Para obtener información sobre cómo crear conjuntos de datos, consulte [Creación de un esquema y un conjunto de datos](data-prep-creating-datasets.md).

Use el siguiente comando `put-users` para añadir uno o más usuarios con la AWS CLI. Sustituya `dataset arn` por el nombre de recurso de Amazon (ARN) de su conjunto de datos y `user Id` por el ID del usuario. Si un usuario con el mismo `userId` ya se encuentra en su conjunto de datos de usuarios, Amazon Personalize lo sustituye por el nuevo.

Para `properties`, para cada campo de su conjunto de datos de usuarios, sustituya `propertyName` por el nombre del campo de su esquema en formato camel case. Por ejemplo, GENDER sería `gender` y MEMBERSHIP\_TYPE sería `membershipType`. Sustituya `user data` por los datos del usuario. 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, `\"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}}\"}" 
    }]'
```

## Importación de usuarios de forma individual (AWS SDKs)
<a name="importing-users-sdk"></a>

Agregue uno o más usuarios a su conjunto de datos de usuarios mediante la operación [PutUsers](API_UBS_PutUsers.md). Si un usuario con el mismo `userId` ya se encuentra en su conjunto de datos de usuarios, Amazon Personalize lo sustituye por el nuevo. Puede importar hasta 10 usuarios con una sola llamada `PutUsers`. En esta sección se supone que ya ha creado un conjunto de datos de usuarios. Para obtener información sobre cómo crear conjuntos de datos, consulte [Creación de un esquema y un conjunto de datos](data-prep-creating-datasets.md).

 El siguiente código muestra cómo añadir uno o más usuarios a su conjunto de datos de usuarios. Para cada parámetro de nombre de propiedad, pase el nombre del campo de su esquema en formato camel case. Por ejemplo, GENDER sería `gender` y MEMBERSHIP\_TYPE sería `membershipType`. Para cada parámetro de valor de propiedad, pase los datos al usuario. 

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, `"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();
```

------