Créer un ticket Mes tickets
Bienvenue
Connexion  S'inscrire

Créer des entités en masse grâce au Bulktree

Notre API publique expose des routes "bulktree" qui vous permettent de créer des entités (et leurs enfants) en masse dans vos modules.

Si une entité existe déjà elle sera mise à jour.

Vous pouvez créer jusqu'à 250 000 entités par requête.


Prenons par exemple la création en masse dans le catalogue.

Nous allons créer 8 entités

  • 1 source (My DataBase)
  • 1 container (My Container)
  • 2 structures (table_0 et table_1)
  • 4 fields (column_0 et column_1 pour chaque structure)


La route à appeler est POST /sources/bulktree/{versionId}. *versionId correspond à l'id de la version cible de votre workspace.

Le payload sera le suivant:

{
"name": "My DataBase",
"type": "Relational",
"summary": "Database summary",
"Custom Property": true,
"description": "Database description",
"owners": ["master.data@datagalaxy.com"],
"stewards": ["master.data@datagalaxy.com"],
"tags": ["GDPR"],
"children": [
{
"name": "My Container",
"type": "Model",
"summary": "Container summary",
"children": [
{
"name": "table_0",
"type": "Table",
"children": [
{
"name": "column_0",
"type": "Column"
},
{
"name": "column_1",
"type": "Column"
}
]
},
{
"name": "view_0",
"type": "View",
"children": [
{
"name": "column_0",
"type": "Column"
},
{
"name": "column_1",
"type": "Column"
}
]
}
]
}
]
}

Comme pour une création d'entité unitaire, vous pouvez définir les valeurs de ses attributs customs.
Dans le payload ci-dessus, notre source possède un attribut custom appelé "Custom Property" de type booléen, que nous avons mis à "true" dans l'exemple.


La propriété children détermine la hiérarchie entre les entités.

Dans le payload ci-dessus, la propriété children de "My Container" défini ses entités enfant (table_0 et table_1).

"My Container" est défini dans la propriété children de "My DataBase", qui est donc sont entité parent.


Une fois la requête exécutée, nous recevons la réponse suivante: 

{
"total": 8,
"created": 8,
"updated": 0,
"deleted": 0,
"unchanged": 0
}

Et voici nos entités sur l'application DataGalaxy: 


Les routes pour chaque modules sont les suivantes: 

  • Pour le catalogue: (création d'une source et de tous ses enfants)
POST /sources/bulktree/{versionId}
  • Pour le glossaire: (création de plusieurs propriétés et de leurs enfants)
POST /properties/bulktree/{versionId}
  • Pour les usages: (création de plusieurs usages et de leurs enfants)
POST /usages/bulktree/{versionId}
  • Pour les traitements: (création de plusieurs traitements, de leurs enfants et de leur mapping)
POST /dataProcessing/bulktree/{versionId}

Cette réponse a-t-elle été utile ? Oui Non

Envoyer vos commentaires
Désolés de n'avoir pu vous être utile. Aidez-nous à améliorer cet article en nous faisant part de vos commentaires.