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}