Requisitos previos
- Configure una conexión de base de datos en la que importar los usuarios y habilítela para al menos una aplicación.
- Si va a importar contraseñas, asegúrese de que tengan hash con uno de los algoritmos compatibles. Los usuarios cuyas contraseñas tengan hash con algoritmos no compatibles deberán restablecer su contraseña cuando inicien sesión por primera vez después de la importación masiva.
- Si va a importar inscripciones de , asegúrese de que sean de un tipo compatible:
email,phoneototp. - Obtenga un token de la Management API para las solicitudes al endpoint de trabajos.
Si está usando un archivo de exportación de un inquilino de Auth0, debe convertir el archivo exportado de
ndjson a JSON. Para conservar los mismos IDs de usuario, debe eliminar el prefijo auth0| de todos los IDs de usuario importados.El proceso de importación agrega automáticamente el prefijo auth0| a los IDs de usuario importados. Si no elimina el prefijo auth0| antes de importar, los IDs de usuario se devolverán como auth0|auth0|...Crear un archivo JSON de usuarios
fs.readFileSync, requiere fs.createReadStream. El endpoint espera un flujo de lectura canalizado en lugar del archivo JSON completo.
Para obtener más información sobre el esquema del archivo JSON y ver ejemplos, lea Esquema de la base de datos y ejemplos de importación masiva.
El límite de tamaño de archivo para una importación masiva es de 500 KB. Deberá iniciar varias importaciones si sus datos superan este tamaño.
Solicitar una importación masiva de usuarios
POST al endpoint Create Import Users Job. Asegúrate de reemplazar los valores de marcador de posición MGMT_API_ACCESS_TOKEN, USERS_IMPORT_FILE.json, CONNECTION_ID y EXTERNAL_ID por tu de la Management API, el archivo JSON de usuarios, el ID de la conexión de la base de datos y el ID externo, respectivamente.
| Parámetro | Descripción |
|---|---|
users | Archivo en formato JSON que contiene los usuarios que se importarán. |
connection_id | ID de la conexión en la que se insertarán los usuarios. Puede recuperar el ID mediante el endpoint GET /api/v2/connections. |
upsert | Valor booleano; false de forma predeterminada. Cuando se establece en false, se producirá un error con los usuarios existentes que coincidan por dirección de correo electrónico, ID de usuario, teléfono o username. Cuando se establece en true, los usuarios existentes que coincidan por dirección de correo electrónico se actualizarán, pero solo con atributos que admitan upsert. Para obtener una lista de los campos del perfil de usuario que se pueden actualizar mediante upsert durante la importación, consulte User Profile Structure: User profile attributes. Nota: Incluir una entrada de usuario duplicada en el archivo de importación provocará un error. En este caso, Auth0 no realizará una inserción seguida de una actualización. |
external_id | Cadena opcional definida por el usuario que puede utilizarse para correlacionar varios trabajos. Se devuelve como parte de la respuesta de estado del trabajo. |
send_completion_email | Valor booleano; true de forma predeterminada. Cuando se establece en true, se envía un correo electrónico de finalización a todos los propietarios del inquilino cuando finaliza el trabajo de importación. Si no desea que se envíen correos electrónicos, debe establecer explícitamente este parámetro en false. |
send_completion_email se estableció en true, los administradores del inquilino recibirán un correo electrónico para notificarles si el trabajo falló o se completó correctamente. Un correo electrónico sobre un trabajo fallido podría notificar a los administradores que no se pudo procesar el archivo JSON de usuarios durante la importación.
Trabajos de importación simultáneos
429 Too Many Requests:
Consultar el estado del trabajo
GET al endpoint Get a Job. Asegúrate de reemplazar los valores de marcador de posición MGMT_API_ACCESS_TOKEN y JOB_ID por tu token de acceso de la Management API y el id del trabajo de importación de usuarios.
Según el estado del trabajo de importación de usuarios, recibirás una respuesta similar a una de las siguientes:
Pendiente
Tiempos de espera de los trabajos
Recuperar entradas fallidas
GET al endpoint Get Job Error Details. Asegúrese de reemplazar los valores de marcador de posición MGMT_API_ACCESS_TOKEN y JOB_ID por su token de acceso de la Management API y el ID del trabajo de importación de usuarios.
Si la solicitud se realiza correctamente, recibirá una respuesta similar a la siguiente. Los campos sensibles, como hash.value, se ocultarán en la respuesta.
- ANY_OF_MISSING
- ARRAY_LENGTH_LONG
- ARRAY_LENGTH_SHORT
- CONFLICT
- CONFLICT_EMAIL
- CONFLICT_USERNAME
- CONNECTION_NOT_FOUND
- DUPLICATED_USER
- ENUM_MISMATCH
- FORMAT
- INVALID_TYPE
- MAX_LENGTH
- MAXIMUM
- MFA_FACTORS_FAILED
- MIN_LENGTH
- MINIMUM
- NOT_PASSED
- OBJECT_REQUIRED
- PATTERN
Prácticas recomendadas para migraciones a gran escala
Tamaño de archivo y fragmentación
Programación y concurrencia de trabajos
- Programar los trabajos de importación de forma sistemática
- Aplicar el límite de simultaneidad requerido
- Hacer un seguimiento del progreso de la importación para reanudarla donde se interrumpió
- Mantener el historial de trabajos y sus estados actuales
Estrategia de gestión de errores
- No interrumpa el proceso de importación por errores de un solo usuario. Importe todos los usuarios y resuelva los problemas después.
- Implemente un trabajo de “finalización” que revise todos los trabajos generados y recopile los registros fallidos en un archivo nuevo.
- Corrija cualquier error en los registros fallidos recopilados e impórtelos como un trabajo nuevo.
- Incluya una estrategia de reintento para gestionar caídas de la conexión de red y errores temporales.
Consideraciones sobre el modo upsert
upsert:
- Las importaciones con
upsertson más lentas que las importaciones estándar. - El modo
upsertno admite la combinación deuser_metadataniapp_metadata. Los metadatos existentes se sobrescribirán por completo con los nuevos valores. - Usa el modo
upsertsolo cuando necesites actualizar usuarios existentes y entiendas estas limitaciones.