Aller au contenu principal

JSON à Table v.2

Configuration actuelle de la tâche JSON to Table v.2 dans le Workflow Designer
  • 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.

ChampDescription
TypeDéfinit le type de données (STRINGA, NUMÉRIQUE, DATE, DATE ET HEURE).
PrécisionLongueur maximale pour les chaînes ou chiffres pour les numériques.
AliasNom 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 JSONPathLe 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 :

BoutonAction
SauvegarderSauvegarde la structure définie
ImporterImporte une structure existante
ExporterExporte 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:

TypePrecisionAliasJSONPath Expression
STRINGA1000name$.task_name
STRINGA1000status$.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"
}
}