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"
}
}