Prérequis
- Configurez une connexion de base de données pour y importer les utilisateurs et activez-la pour au moins une application.
- Si vous importez des mots de passe, assurez-vous qu’ils sont hachés à l’aide de l’un des algorithmes pris en charge. Les utilisateurs dont les mots de passe sont hachés avec des algorithmes non pris en charge devront réinitialiser leur mot de passe à leur première connexion après l’importation en bloc.
- Si vous importez des inscriptions à la , assurez-vous qu’il s’agit d’un type pris en charge :
email,phoneoutotp. - Obtenez un jeton Management API pour les requêtes au point de terminaison de la tâche.
Si vous utilisez un fichier d’exportation provenant d’un locataire Auth0, vous devez convertir le fichier exporté de
ndjson en JSON. Pour conserver les mêmes identifiants utilisateur, vous devez supprimer le préfixe auth0| de tous les identifiants utilisateur importés.Le processus d’importation ajoute automatiquement le préfixe auth0| aux identifiants utilisateur importés. Si vous ne supprimez pas le préfixe auth0| avant l’importation, les identifiants utilisateur seront renvoyés sous la forme auth0|auth0|...Créer le fichier JSON des utilisateurs
fs.readFileSync, vous devez utiliser fs.createReadStream. Le point de terminaison attend un flux de lecture transmis par pipeline plutôt que le fichier JSON complet.
Pour en savoir plus sur le schéma du fichier JSON et voir des exemples, consultez Schéma de base de données pour l’importation en masse et exemples.
La taille maximale d’un fichier pour une importation en masse est de 500 KB. Vous devrez lancer plusieurs importations si vos données dépassent cette limite.
Demander l’importation groupée d’utilisateurs
POST vers le point de terminaison Create Import Users Job. Assurez-vous de remplacer les valeurs d’espace réservé MGMT_API_ACCESS_TOKEN, USERS_IMPORT_FILE.json, CONNECTION_ID et EXTERNAL_ID par votre de la Management API, votre fichier JSON d’utilisateurs, l’ID de connexion de la base de données et l’ID externe, respectivement.
| Paramètre | Description |
|---|---|
users | Fichier au format JSON contenant les utilisateurs à importer. |
connection_id | ID de la connexion dans laquelle les utilisateurs seront insérés. Vous pouvez récupérer cet ID à l’aide du point de terminaison GET /api/v2/connections. |
upsert | Valeur booléenne : false par défaut. Lorsqu’elle est définie à false, les utilisateurs existants qui correspondent à une adresse courriel, à un ID d’utilisateur, à un téléphone ou à un nom d’utilisateur échoueront. Lorsqu’elle est définie à true, les utilisateurs existants qui correspondent à une adresse courriel seront mis à jour, mais uniquement avec des attributs pouvant être mis à jour par upsert. Pour obtenir la liste des champs du profil utilisateur pouvant faire l’objet d’un upsert lors de l’importation, consultez User Profile Structure: User profile attributes. Remarque : fournir une entrée utilisateur en double dans le fichier d’importation entraînera une erreur. Dans ce cas, Auth0 n’effectuera pas d’insertion suivie d’une mise à jour. |
external_id | Chaîne facultative définie par l’utilisateur qui peut servir à faire le lien entre plusieurs tâches. Elle est renvoyée dans la réponse d’état de la tâche. |
send_completion_email | Valeur booléenne : true par défaut. Lorsqu’elle est définie à true, un courriel de fin de traitement est envoyé à tous les propriétaires du locataire une fois la tâche d’importation terminée. Si vous ne voulez pas que des courriels soient envoyés, vous devez définir explicitement ce paramètre à false. |
send_completion_email a été défini à true, le ou les administrateurs du locataire recevront un courriel les informant si la tâche a échoué ou réussi. Dans le cas d’une tâche ayant échoué, le courriel peut aviser le ou les administrateurs qu’une erreur est survenue lors de l’analyse du fichier JSON des utilisateurs pendant l’importation.
Tâches d’importation concurrentes
429 Too Many Requests est renvoyée :
Vérifier l’état de la tâche
GET au point de terminaison Get a Job. Assurez-vous de remplacer les valeurs d’espace réservé MGMT_API_ACCESS_TOKEN et JOB_ID par votre jeton d’accès de la Management API et l’id de la tâche d’importation des utilisateurs.
Selon l’état de la tâche d’importation des utilisateurs, vous recevrez une réponse semblable à l’une des suivantes :
En attente
Délais d’expiration des tâches
Récupérer les entrées en échec
GET au point de terminaison Obtenir les détails des erreurs de tâche. Assurez-vous de remplacer les valeurs d’espace réservé MGMT_API_ACCESS_TOKEN et JOB_ID par votre jeton d’accès à la Management API et l’ID de votre tâche d’importation d’utilisateurs.
Si la requête aboutit, vous recevrez une réponse semblable à la suivante. Les champs sensibles, comme hash.value, seront masqués dans la réponse.
- 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
Bonnes pratiques pour les migrations à grande échelle
Taille des fichiers et fractionnement
Planification des tâches et concurrence
- Planifier systématiquement les tâches d’importation
- Appliquer la limite de concurrence requise
- Suivre la progression de l’importation afin de reprendre là où vous vous êtes arrêté en cas d’interruption
- Conserver l’historique des tâches et leur état actuel
Stratégie de gestion des erreurs
- N’interrompez pas le processus d’importation lorsqu’un seul utilisateur échoue. Importez tous les utilisateurs, puis traitez les problèmes par la suite.
- Implémentez une tâche de « finalisation » qui passe en revue toutes les tâches générées et regroupe les enregistrements ayant échoué dans un nouveau fichier.
- Corrigez les erreurs dans les enregistrements regroupés ayant échoué, puis importez-les dans une nouvelle tâche.
- Prévoyez une stratégie de reprise pour gérer les pertes de connexion réseau et les défaillances temporaires.
Considérations relatives au mode upsert
upsert :
- Les importations en mode upsert sont plus lentes que les importations standard.
- Le mode upsert ne prend pas en charge la fusion de
user_metadataouapp_metadata. Les métadonnées existantes seront entièrement remplacées par les nouvelles valeurs. - Utilisez le mode upsert uniquement si vous devez mettre à jour des utilisateurs existants et si vous comprenez bien ces limites.