Partager via


Type - Bulk Create

Créez toutes les définitions de type atlas en bloc, seules les nouvelles définitions seront créées. Toutes les modifications apportées aux définitions existantes seront ignorées.

POST {endpoint}/datamap/api/atlas/v2/types/typedefs

Paramètres URI

Nom Dans Obligatoire Type Description
endpoint
path True

string

Corps de la demande

Nom Type Description
businessMetadataDefs

AtlasBusinessMetadataDef[]

businessMetadataDefs

classificationDefs

AtlasClassificationDef[]

Tableau de définitions de classification.

entityDefs

AtlasEntityDef[]

Tableau de définitions d’entité.

enumDefs

AtlasEnumDef[]

Tableau de définitions d’énumération.

relationshipDefs

AtlasRelationshipDef[]

Tableau de définitions de relation.

structDefs

AtlasStructDef[]

Tableau de définitions de struct.

termTemplateDefs

TermTemplateDef[]

Tableau de définitions de modèle de terme.

Réponses

Nom Type Description
200 OK

AtlasTypesDef

La demande a réussi.

Other Status Codes

AtlasErrorResponse

Réponse d’erreur inattendue.

Sécurité

OAuth2Auth

Type: oauth2
Flux: implicit
URL d’autorisation: https://login.microsoftonline.com/common/oauth2/authorize

Étendues

Nom Description
https://purview.azure.net/.default

Exemples

Type_BulkCreate
Type_BulkCreateBusinessMetadataDefs

Type_BulkCreate

Exemple de requête

POST {endpoint}/datamap/api/atlas/v2/types/typedefs

{
  "enumDefs": [],
  "structDefs": [],
  "classificationDefs": [],
  "entityDefs": [
    {
      "name": "azure_sql_server_example",
      "superTypes": [
        "azure_resource"
      ],
      "typeVersion": "1.0",
      "attributeDefs": [
        {
          "name": "databases",
          "typeName": "array<azure_sql_db>",
          "cardinality": "SET",
          "isIndexable": false,
          "isOptional": true,
          "isUnique": false
        }
      ]
    }
  ],
  "relationshipDefs": []
}

Exemple de réponse

{
  "enumDefs": [],
  "structDefs": [],
  "classificationDefs": [],
  "entityDefs": [
    {
      "category": "ENTITY",
      "guid": "a47fd902-a564-45f1-aa51-ce9224955881",
      "createdBy": "ExampleCreator",
      "updatedBy": "ExampleUpdator",
      "createTime": 1553672211954,
      "updateTime": 1553672211954,
      "version": 1,
      "name": "azure_sql_server_example",
      "description": "azure_sql_server_example",
      "typeVersion": "1.0",
      "attributeDefs": [
        {
          "name": "databases",
          "typeName": "array<azure_sql_db>",
          "isOptional": true,
          "cardinality": "SET",
          "valuesMinCount": 0,
          "valuesMaxCount": 2147483647,
          "isUnique": false,
          "isIndexable": false,
          "includeInNotification": false
        }
      ],
      "superTypes": [
        "azure_resource"
      ],
      "subTypes": []
    }
  ],
  "relationshipDefs": []
}

Type_BulkCreateBusinessMetadataDefs

Exemple de requête

POST {endpoint}/datamap/api/atlas/v2/types/typedefs

{
  "enumDefs": [],
  "structDefs": [],
  "classificationDefs": [],
  "entityDefs": [],
  "relationshipDefs": [],
  "businessMetadataDefs": [
    {
      "name": "myBizMetadata1",
      "description": "",
      "attributeDefs": [
        {
          "name": "bizAttr1",
          "typeName": "string",
          "isOptional": true,
          "cardinality": "SINGLE",
          "isUnique": false,
          "isIndexable": true,
          "options": {
            "maxStrLength": "50",
            "applicableEntityTypes": "[\"Path\"]"
          }
        }
      ]
    }
  ]
}

Exemple de réponse

{
  "enumDefs": [],
  "structDefs": [],
  "classificationDefs": [],
  "entityDefs": [],
  "relationshipDefs": [],
  "businessMetadataDefs": [
    {
      "category": "BUSINESS_METADATA",
      "guid": "f26dc6d1-be9c-a0ce-a274-b6388ff6e2eb",
      "createdBy": "ServiceAdmin",
      "updatedBy": "ServiceAdmin",
      "createTime": 1646994112241,
      "updateTime": 1646994112241,
      "version": 1,
      "name": "myBizMetadata1",
      "description": "This is my businessMetadata1",
      "typeVersion": "1.0",
      "lastModifiedTS": "1",
      "attributeDefs": [
        {
          "name": "bizAttr1",
          "typeName": "string",
          "isOptional": true,
          "cardinality": "SINGLE",
          "valuesMinCount": 0,
          "valuesMaxCount": 1,
          "isUnique": false,
          "isIndexable": true,
          "includeInNotification": false,
          "options": {
            "applicableEntityTypes": "[\"Path\"]",
            "maxStrLength": "50"
          }
        }
      ]
    }
  ]
}

Définitions

Nom Description
AtlasAttributeDef

qui capture les détails d’un struct-attribute.

AtlasBusinessMetadataDef

classe qui capture les détails d’un struct-type.

AtlasClassificationDef

qui capture les détails d’un type de classification.

AtlasConstraintDef

classe qui capture les détails d’une contrainte.

AtlasEntityDef

classe qui capture les détails d’un type d’entité.

AtlasEnumDef

classe qui capture les détails d’un type enum.

AtlasEnumElementDef

classe qui capture les détails d’un enum-element.

AtlasErrorResponse

Réponse d’erreur du service

AtlasRelationshipAttributeDef

RelationshipEndDef représente une fin de la relation. La fin de la relation est définie par un type, un nom d’attribut, une cardinalité et s’il s’agit de la fin du conteneur de la relation.

AtlasRelationshipDef

AtlasRelationshipDef est un TypeDef qui définit une relation. Comme avec les autres typesDefs, AtlasRelationshipDef a un nom. Une fois créé, l’objet RelationshipDef a un GUID. Le nom et le GUID sont les 2 façons d’identifier RelationshipDef. Les RelationshipDefs ont 2 extrémités, chacune spécifiant la cardinalité, un nom et un nom de type EntityDef et éventuellement si la fin est un conteneur. Les RelationshipDefs peuvent avoir des AttributeDefs, bien que seuls les types primitifs soient autorisés. Les RelationshipDefs ont une relationCategory spécifiant le type UML de relation requis La façon dont EntityDefs et RelationshipDefs sont destinés à être utilisés est qu’EntityDefs définira AttributeDefs ces AttributeDefs ne spécifieront pas de nom de type EntityDef comme types. RelationshipDefs introduit de nouveaux attributs aux instances d’entité. Par exemple, EntityDef A peut avoir des attributs attr1,attr2,attr3

EntityDef B peut avoir des attributs attr4,attr5,attr6 RelationshipDef AtoB peut définir 2 extrémités

end1 : type A, name attr7 end2 : type B, name attr8

Lorsqu’une instance d’EntityDef A est créée, elle a des attributs attr1,attr2,attr3,attr7 Lorsqu’une instance d’EntityDef B est créée, elle a des attributs attr4,attr5,attr6,attr8

De cette façon, les relationshipDefs peuvent être créés séparément de entityDefs et peuvent injecter des attributs de relation dans les instances d’entité

AtlasRelationshipEndDef

RelationshipEndDef représente une fin de la relation. La fin de la relation est définie par un type, un nom d’attribut, une cardinalité et s’il s’agit de la fin du conteneur de la relation.

AtlasStructDef

classe qui capture les détails d’un struct-type.

AtlasTypesDef

Définitions des types.

CardinalityValue

Cardinalité

DateFormat

Format de date.

NumberFormat

Format numérique.

RelationshipCategory

Catégorie de relation

RoundingMode

Mode arrondi

TermTemplateDef

Définition de modèle de terme pour le terme de glossaire.

TimeZone

Informations de fuseau horaire.

TypeCategory

Catégorie de type

AtlasAttributeDef

qui capture les détails d’un struct-attribute.

Nom Type Description
cardinality

CardinalityValue

attribut à valeur unique ou attribut à valeurs multiples.

constraints

AtlasConstraintDef[]

Tableau de contraintes.

defaultValue

string

Valeur par défaut de l’attribut.

description

string

Description de l’attribut.

includeInNotification

boolean

Détermine si elle est incluse dans la notification.

isIndexable

boolean

Détermine s’il est indexable.

isOptional

boolean

Détermine si elle est facultative.

isUnique

boolean

Détermine si elle est unique.

name

string

Nom de l'attribut.

options

object

Options de l’attribut.

typeName

string

Nom du type.

valuesMaxCount

integer

Nombre maximal de valeurs.

valuesMinCount

integer

Nombre minimal de valeurs.

AtlasBusinessMetadataDef

classe qui capture les détails d’un struct-type.

Nom Type Description
attributeDefs

AtlasAttributeDef[]

Tableau de définitions d’attributs.

category

TypeCategory

Énumération de la catégorie de type.

createTime

integer

Heure de création de l’enregistrement.

createdBy

string

Utilisateur qui a créé l’enregistrement.

dateFormatter

DateFormat

Format de date.

description

string

Description de la définition de type.

guid

string

GUID de la définition de type.

lastModifiedTS

string

ETag pour le contrôle d’accès concurrentiel.

name

string

Nom de la définition de type.

options

object

Options pour la définition de type.

serviceType

string

Type de service.

typeVersion

string

Version du type.

updateTime

integer

Heure de mise à jour de l’enregistrement.

updatedBy

string

Utilisateur qui a mis à jour l’enregistrement.

version

integer

Version de l’enregistrement.

AtlasClassificationDef

qui capture les détails d’un type de classification.

Nom Type Description
attributeDefs

AtlasAttributeDef[]

Tableau de définitions d’attributs.

category

TypeCategory

Énumération de la catégorie de type.

createTime

integer

Heure de création de l’enregistrement.

createdBy

string

Utilisateur qui a créé l’enregistrement.

dateFormatter

DateFormat

Format de date.

description

string

Description de la définition de type.

entityTypes

string[]

La spécification d’une liste de noms entityType dans classificationDef garantit que les classifications ne peuvent être appliquées qu’à ces entityTypes.

Tous les sous-types des types d’entités héritent de la restriction.

Tous les sous-types classificationDef héritent des restrictions entityTypes parents.

Tous les sous-types classificationDef peuvent restreindre davantage les restrictions entityTypes parents en spécifiant un sous-ensemble des entityTypes.

Une liste entityTypes vide lorsqu’il n’existe aucune restriction parente signifie qu’il n’y a pas de restrictions.

Une liste entityTypes vide lorsqu’il existe des restrictions parentes signifie que le sous-type récupère les restrictions parents.

Si une liste d’entityTypes est fournie, où l’un hérite d’un autre, cette opération est rejetée. Cela devrait encourager des classifications plus propresDefs.

guid

string

GUID de la définition de type.

lastModifiedTS

string

ETag pour le contrôle d’accès concurrentiel.

name

string

Nom de la définition de type.

options

object

Options pour la définition de type.

serviceType

string

Type de service.

subTypes

string[]

Tableau de sous-types.

superTypes

string[]

Tableau de super types.

typeVersion

string

Version du type.

updateTime

integer

Heure de mise à jour de l’enregistrement.

updatedBy

string

Utilisateur qui a mis à jour l’enregistrement.

version

integer

Version de l’enregistrement.

AtlasConstraintDef

classe qui capture les détails d’une contrainte.

Nom Type Description
params

Paramètres de la définition de contrainte.

type

string

Type de la contrainte.

AtlasEntityDef

classe qui capture les détails d’un type d’entité.

Nom Type Description
attributeDefs

AtlasAttributeDef[]

Tableau de définitions d’attributs.

category

TypeCategory

Énumération de la catégorie de type.

createTime

integer

Heure de création de l’enregistrement.

createdBy

string

Utilisateur qui a créé l’enregistrement.

dateFormatter

DateFormat

Format de date.

description

string

Description de la définition de type.

guid

string

GUID de la définition de type.

lastModifiedTS

string

ETag pour le contrôle d’accès concurrentiel.

name

string

Nom de la définition de type.

options

object

Options pour la définition de type.

relationshipAttributeDefs

AtlasRelationshipAttributeDef[]

Tableau d’attributs de relation.

serviceType

string

Type de service.

subTypes

string[]

Tableau de sous-types.

superTypes

string[]

Tableau de super types.

typeVersion

string

Version du type.

updateTime

integer

Heure de mise à jour de l’enregistrement.

updatedBy

string

Utilisateur qui a mis à jour l’enregistrement.

version

integer

Version de l’enregistrement.

AtlasEnumDef

classe qui capture les détails d’un type enum.

Nom Type Description
category

TypeCategory

Énumération de la catégorie de type.

createTime

integer

Heure de création de l’enregistrement.

createdBy

string

Utilisateur qui a créé l’enregistrement.

dateFormatter

DateFormat

Format de date.

defaultValue

string

Valeur par défaut.

description

string

Description de la définition de type.

elementDefs

AtlasEnumElementDef[]

Tableau de définitions d’éléments enum.

guid

string

GUID de la définition de type.

lastModifiedTS

string

ETag pour le contrôle d’accès concurrentiel.

name

string

Nom de la définition de type.

options

object

Options pour la définition de type.

serviceType

string

Type de service.

typeVersion

string

Version du type.

updateTime

integer

Heure de mise à jour de l’enregistrement.

updatedBy

string

Utilisateur qui a mis à jour l’enregistrement.

version

integer

Version de l’enregistrement.

AtlasEnumElementDef

classe qui capture les détails d’un enum-element.

Nom Type Description
description

string

Description de la définition de l’élément enum.

ordinal

integer

ordinal de la définition de l’élément enum.

value

string

Valeur de la définition de l’élément enum.

AtlasErrorResponse

Réponse d’erreur du service

Nom Type Description
errorCode

string

Code d'erreur.

errorMessage

string

Message d’erreur.

requestId

string

ID de demande.

AtlasRelationshipAttributeDef

RelationshipEndDef représente une fin de la relation. La fin de la relation est définie par un type, un nom d’attribut, une cardinalité et s’il s’agit de la fin du conteneur de la relation.

Nom Type Description
cardinality

CardinalityValue

attribut à valeur unique ou attribut à valeurs multiples.

constraints

AtlasConstraintDef[]

Tableau de contraintes.

defaultValue

string

Valeur par défaut de l’attribut.

description

string

Description de l’attribut.

includeInNotification

boolean

Détermine si elle est incluse dans la notification.

isIndexable

boolean

Détermine s’il est indexable.

isLegacyAttribute

boolean

Détermine s’il s’agit d’un attribut hérité.

isOptional

boolean

Détermine si elle est facultative.

isUnique

boolean

Détermine si elle est unique.

name

string

Nom de l'attribut.

options

object

Options de l’attribut.

relationshipTypeName

string

Nom du type de relation.

typeName

string

Nom du type.

valuesMaxCount

integer

Nombre maximal de valeurs.

valuesMinCount

integer

Nombre minimal de valeurs.

AtlasRelationshipDef

AtlasRelationshipDef est un TypeDef qui définit une relation. Comme avec les autres typesDefs, AtlasRelationshipDef a un nom. Une fois créé, l’objet RelationshipDef a un GUID. Le nom et le GUID sont les 2 façons d’identifier RelationshipDef. Les RelationshipDefs ont 2 extrémités, chacune spécifiant la cardinalité, un nom et un nom de type EntityDef et éventuellement si la fin est un conteneur. Les RelationshipDefs peuvent avoir des AttributeDefs, bien que seuls les types primitifs soient autorisés. Les RelationshipDefs ont une relationCategory spécifiant le type UML de relation requis La façon dont EntityDefs et RelationshipDefs sont destinés à être utilisés est qu’EntityDefs définira AttributeDefs ces AttributeDefs ne spécifieront pas de nom de type EntityDef comme types. RelationshipDefs introduit de nouveaux attributs aux instances d’entité. Par exemple, EntityDef A peut avoir des attributs attr1,attr2,attr3

EntityDef B peut avoir des attributs attr4,attr5,attr6 RelationshipDef AtoB peut définir 2 extrémités

end1 : type A, name attr7 end2 : type B, name attr8

Lorsqu’une instance d’EntityDef A est créée, elle a des attributs attr1,attr2,attr3,attr7 Lorsqu’une instance d’EntityDef B est créée, elle a des attributs attr4,attr5,attr6,attr8

De cette façon, les relationshipDefs peuvent être créés séparément de entityDefs et peuvent injecter des attributs de relation dans les instances d’entité

Nom Type Description
attributeDefs

AtlasAttributeDef[]

Tableau de définitions d’attributs.

category

TypeCategory

Énumération de la catégorie de type.

createTime

integer

Heure de création de l’enregistrement.

createdBy

string

Utilisateur qui a créé l’enregistrement.

dateFormatter

DateFormat

Format de date.

description

string

Description de la définition de type.

endDef1

AtlasRelationshipEndDef

RelationshipEndDef représente une fin de la relation. La fin de la relation est définie par un type, un nom d’attribut, une cardinalité et s’il s’agit de la fin du conteneur de la relation.

endDef2

AtlasRelationshipEndDef

RelationshipEndDef représente une fin de la relation. La fin de la relation est définie par un type, un nom d’attribut, une cardinalité et s’il s’agit de la fin du conteneur de la relation.

guid

string

GUID de la définition de type.

lastModifiedTS

string

ETag pour le contrôle d’accès concurrentiel.

name

string

Nom de la définition de type.

options

object

Options pour la définition de type.

relationshipCategory

RelationshipCategory

La catégorie Relation détermine le style de relation autour du confinement et du cycle de vie. La terminologie UML est utilisée pour les valeurs. ASSOCIATION est une relation sans confinement. COMPOSITION et AGRÉGATION sont des relations de confinement. La différence réside dans les cycles de vie du conteneur et de ses enfants. Dans le cas DE COMPOSITION, les enfants ne peuvent pas exister sans le conteneur. Pour l’AGRÉGATION, les cycles de vie du conteneur et des enfants sont totalement indépendants.

relationshipLabel

string

Étiquette de la relation.

serviceType

string

Type de service.

typeVersion

string

Version du type.

updateTime

integer

Heure de mise à jour de l’enregistrement.

updatedBy

string

Utilisateur qui a mis à jour l’enregistrement.

version

integer

Version de l’enregistrement.

AtlasRelationshipEndDef

RelationshipEndDef représente une fin de la relation. La fin de la relation est définie par un type, un nom d’attribut, une cardinalité et s’il s’agit de la fin du conteneur de la relation.

Nom Type Description
cardinality

CardinalityValue

attribut à valeur unique ou attribut à valeurs multiples.

description

string

Description de la définition de fin de relation.

isContainer

boolean

Détermine s’il s’agit d’un conteneur.

isLegacyAttribute

boolean

Détermine s’il s’agit d’un attribut hérité.

name

string

Nom de la définition de fin de relation.

type

string

Type de fin de relation.

AtlasStructDef

classe qui capture les détails d’un struct-type.

Nom Type Description
attributeDefs

AtlasAttributeDef[]

Tableau de définitions d’attributs.

category

TypeCategory

Énumération de la catégorie de type.

createTime

integer

Heure de création de l’enregistrement.

createdBy

string

Utilisateur qui a créé l’enregistrement.

dateFormatter

DateFormat

Format de date.

description

string

Description de la définition de type.

guid

string

GUID de la définition de type.

lastModifiedTS

string

ETag pour le contrôle d’accès concurrentiel.

name

string

Nom de la définition de type.

options

object

Options pour la définition de type.

serviceType

string

Type de service.

typeVersion

string

Version du type.

updateTime

integer

Heure de mise à jour de l’enregistrement.

updatedBy

string

Utilisateur qui a mis à jour l’enregistrement.

version

integer

Version de l’enregistrement.

AtlasTypesDef

Définitions des types.

Nom Type Description
businessMetadataDefs

AtlasBusinessMetadataDef[]

businessMetadataDefs

classificationDefs

AtlasClassificationDef[]

Tableau de définitions de classification.

entityDefs

AtlasEntityDef[]

Tableau de définitions d’entité.

enumDefs

AtlasEnumDef[]

Tableau de définitions d’énumération.

relationshipDefs

AtlasRelationshipDef[]

Tableau de définitions de relation.

structDefs

AtlasStructDef[]

Tableau de définitions de struct.

termTemplateDefs

TermTemplateDef[]

Tableau de définitions de modèle de terme.

CardinalityValue

Cardinalité

Nom Type Description
LIST

string

list

SET

string

set

SINGLE

string

unique

DateFormat

Format de date.

Nom Type Description
availableLocales

string[]

Tableau des paramètres régionaux disponibles.

calendar

number

Calendrier

dateInstance

DateFormat

Format de date.

dateTimeInstance

DateFormat

Format de date.

instance

DateFormat

Format de date.

lenient

boolean

Détermine la clémence du format de date.

numberFormat

NumberFormat

Format numérique.

timeInstance

DateFormat

Format de date.

timeZone

TimeZone

Informations de fuseau horaire.

NumberFormat

Format numérique.

Nom Type Description
availableLocales

string[]

Format numérique.

currency

string

Devise.

currencyInstance

NumberFormat

Format numérique.

groupingUsed

boolean

Détermine si le regroupement est utilisé.

instance

NumberFormat

Format numérique.

integerInstance

NumberFormat

Format numérique.

maximumFractionDigits

integer

Nombre maximal de chiffres de fraction.

maximumIntegerDigits

integer

Nombre maximal de chiffres entiers.

minimumFractionDigits

integer

Nombre minimal de chiffres de fraction.

minimumIntegerDigits

integer

Nombre minimal de chiffres entiers.

numberInstance

NumberFormat

Format numérique.

parseIntegerOnly

boolean

Détermine si seul un entier est analysé.

percentInstance

NumberFormat

Format numérique.

roundingMode

RoundingMode

Énumération du mode d’arrondi.

RelationshipCategory

Catégorie de relation

Nom Type Description
AGGREGATION

string

aggregation

ASSOCIATION

string

association

COMPOSITION

string

Composition

RoundingMode

Mode arrondi

Nom Type Description
CEILING

string

ceiling

DOWN

string

Éteindre

FLOOR

string

floor

HALF_DOWN

string

moitié vers le bas

HALF_EVEN

string

moitié pair

HALF_UP

string

moitié plus haut

UNNECESSARY

string

unnecessary

UP

string

up

TermTemplateDef

Définition de modèle de terme pour le terme de glossaire.

Nom Type Description
attributeDefs

AtlasAttributeDef[]

Tableau de définitions d’attributs.

category

TypeCategory

Énumération de la catégorie de type.

createTime

integer

Heure de création de l’enregistrement.

createdBy

string

Utilisateur qui a créé l’enregistrement.

dateFormatter

DateFormat

Format de date.

description

string

Description de la définition de type.

guid

string

GUID de la définition de type.

lastModifiedTS

string

ETag pour le contrôle d’accès concurrentiel.

name

string

Nom de la définition de type.

options

object

Options pour la définition de type.

serviceType

string

Type de service.

typeVersion

string

Version du type.

updateTime

integer

Heure de mise à jour de l’enregistrement.

updatedBy

string

Utilisateur qui a mis à jour l’enregistrement.

version

integer

Version de l’enregistrement.

TimeZone

Informations de fuseau horaire.

Nom Type Description
availableIds

string[]

Tableau d’ID disponibles.

default

TimeZone

Informations de fuseau horaire.

displayName

string

Nom complet du fuseau horaire.

dstSavings

integer

Valeur de l’heure d’été.

id

string

ID du fuseau horaire.

rawOffset

integer

Décalage brut du fuseau horaire.

TypeCategory

Catégorie de type

Nom Type Description
ARRAY

string

tableau

CLASSIFICATION

string

classification ;

ENTITY

string

entité

ENUM

string

enum

MAP

string

carte

OBJECT_ID_TYPE

string

type d’ID d’objet

PRIMITIVE

string

primitif

RELATIONSHIP

string

relation

STRUCT

string

struct

TERM_TEMPLATE

string

modèle de terme