JSON à Table v.2
- Type de tâche:
json-to-table_v2
Description
La tâche "JSON to Table v.2" permet de importer un objet JSON avec une structure tabulaire directement dans une table d'une base de données supportée. La tâche gère la création de la table ou l'insertion des données dans des tables existantes.
1. Connexion à la base de données
Table cible
Sélectionnez la source de la configuration :
Manuelle: pour insérer les données de connexion champ par champ.Environnement: pour utiliser un environnement de connexion préconfiguré dans le système.
Connexion Environnement
Menu déroulant pour sélectionner l'environnement souhaité (ex. SqlServer_TEST). Les paramètres d'authentification sont automatiquement renseignés.
Dataset d'entrée
Champ pour définir la source de données :
- Doit contenir le JSON à traiter.
- On peut utiliser les paramètres dynamiques pour connecter la sortie de tâche précédentes (ex.
#>JSON print.result<#).
Type de base de données
Sélectionnez le DBMS de destination entre PostgreSQL, SQLserver, MySQL, Oracle et SAP HANA.
Connexion SSL
Indiquez si activer la connexion sécurisée (SI / NO).
Authentification
Si en mode Manuelle, remplissez les champs : Host, Porte, Nom DB, User et Password.
2. Gestion de la table
Action Table Cible
Créer table: génère une nouvelle table dans la base de données.Table existante: insère les données dans une table existante. Options :- Append: ajoute les enregistrements en queue.
- Truncate Insert: vide la table avant l'insertion.
Créer table si non existe: crée la table seulement si elle n'est pas détectée, évitant les erreurs dans les exécutions multiples.
Nom de table cible
Spécifiez le nom physique de la table dans la base de données (ex. example_table).
3. Structure tabellaire
Dans cette section, on définit la correspondance entre les clés du JSON et les colonnes de la table.
| Champ | Description |
|---|---|
| Type | Définit le type de données (STRINGA, NUMÉRIQUE, DATE, DATE ET HEURE). |
| Précision | Longueur maximale pour les chaînes ou chiffres pour les numériques. |
| Alias | Nom de la colonne dans la base de données. Utiliser les guillemets doubles (ex. "Nom Utente") pour maintenir des espaces ou des caractères spéciaux. |
| Expression JSONPath | Le chemin JSON pour extraire la valeur (ex. $.task_name). |
Gestion de la Structure de Table
En bas à droite de la Structure tabellaire sont présents trois boutons :
| Bouton | Action |
|---|---|
| Sauvegarder | Sauvegarde la structure définie |
| Importer | Importe une structure existante |
| Exporter | Exporte la structure définie |
Cette fonctionnalité permet de sauvegarder, exporter ou réutiliser les mappages, évitant la compilation manuelle des champs et réduisant le risque d'erreurs.
Note Technique
Visibilité: Les structures sauvegardées dans le système sont visibles exclusivement à l'utilisateur qui les a créées. Approfondissement: Pour une description détaillée de toutes les options et de la logique de fonctionnement, faire référence à la page Table Structure.
4. Exemple de configuration
Pour importer un dataset JSON comme le suivant :
[{"task_name": "Backup", "status": "OK"}, {"task_name": "Restore", "status": "FAIL"}]
Configuration de la Structure tabellaire:
| Type | Precision | Alias | JSONPath Expression |
|---|---|---|---|
STRINGA | 1000 | name | $.task_name |
STRINGA | 1000 | status | $.status |
Output Parameters
- exitStatus: Code d'état de l'opération (0 = Succès).
- rowCount: Nombre de lignes effectivement insérées dans la base de données.
- targetTable: Nom de la table de destination utilisée.
- DataExportCsv: Données traitées exportées au format CSV.
- DataExportJson: Données traitées exportées au format JSON.
- DataColumn.NomColonne: Liste de toutes les valeurs de la colonne séparées par des virgules (ex.
Sauvegarde, Restauration). - resultJson: Rapport JSON complet de l'exécution de la tâche.
Example resultJson
{
"run_info": {
"status": "Completed",
"run_result": "Success"
},
"output_parameters": {
"exitStatus": "0"
}
}