Partager via


Type - Bulk Create

Créez toutes les définitions de type atlas en bloc. Évitez de recréer des types existants.

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

Paramètres URI

Nom Dans Obligatoire Type Description
endpoint
path True

string (uri)

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

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

AtlasBusinessMetadataDef

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

AtlasClassificationDef

classe 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 d’énumération.

AtlasEnumElementDef

classe qui capture les détails d’un élément d’énumération.

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 d’autres typesDefs, AtlasRelationshipDef a un nom. Une fois que relationshipDef a créé un guid. Le nom et le guid sont les 2 façons dont RelationshipDef est identifié. RelationshipDefs a 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. RelationshipDefs peut avoir AttributeDefs , bien que seuls les types primitifs soient autorisés. RelationshipDefs a une relationCategory spécifiant le type UML de relation requis La façon dont EntityDefs et RelationshipDefs sont destinés à être utilisés est que EntityDefs définit AttributeDefs ces AttributeDefs ne spécifie pas de nom de type EntityDef comme leurs 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 aura des attributs attr1,attr2,attr3,attr7 Quand une instance d’EntityDef B est créée, elle aura des attributs attr4,attr5,attr6,attr8

De cette façon, relationshipDefs peut être créé séparément de entityDefs et peut 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 type de struct.

AtlasTypesDef

Définitions de 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 sur le fuseau horaire.

TypeCategory

Catégorie de type

AtlasAttributeDef

classe 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 s’il est inclus dans la notification.

isIndexable

boolean

Détermine s’il est indexable.

isOptional

boolean

Détermine s’il est facultatif.

isUnique

boolean

Détermine s’il est unique.

name

string

Nom de l’attribut.

options

object

Options de l’attribut.

typeName

string

Nom du type.

valuesMaxCount

integer (int32)

Nombre maximal de valeurs.

valuesMinCount

integer (int32)

Nombre minimal de valeurs.

AtlasBusinessMetadataDef

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

Nom Type Description
attributeDefs

AtlasAttributeDef[]

Tableau de définitions d’attributs.

category

TypeCategory

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

createTime

integer (int64)

Heure créée 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 de la définition de type.

serviceType

string

Type de service.

typeVersion

string

Version du type.

updateTime

integer (int64)

Heure de mise à jour de l’enregistrement.

updatedBy

string

Utilisateur qui a mis à jour l’enregistrement.

version

integer (int64)

Version de l’enregistrement.

AtlasClassificationDef

classe 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 (int64)

Heure créée 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.

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

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 parent signifie qu’il n’y a aucune restriction.

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

Si une liste d’entityTypes est fournie, où l’un hérite d’une autre, cela sera rejeté. Cela doit 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 de 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 (int64)

Heure de mise à jour de l’enregistrement.

updatedBy

string

Utilisateur qui a mis à jour l’enregistrement.

version

integer (int64)

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 (int64)

Heure créée 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 de 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 (int64)

Heure de mise à jour de l’enregistrement.

updatedBy

string

Utilisateur qui a mis à jour l’enregistrement.

version

integer (int64)

Version de l’enregistrement.

AtlasEnumDef

classe qui capture les détails d’un type d’énumération.

Nom Type Description
category

TypeCategory

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

createTime

integer (int64)

Heure créée 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 de la définition de type.

serviceType

string

Type de service.

typeVersion

string

Version du type.

updateTime

integer (int64)

Heure de mise à jour de l’enregistrement.

updatedBy

string

Utilisateur qui a mis à jour l’enregistrement.

version

integer (int64)

Version de l’enregistrement.

AtlasEnumElementDef

classe qui capture les détails d’un élément d’énumération.

Nom Type Description
description

string

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

ordinal

integer (int32)

ordinal de la définition d’é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 (uuid)

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 s’il est inclus 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 s’il est facultatif.

isUnique

boolean

Détermine s’il 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 (int32)

Nombre maximal de valeurs.

valuesMinCount

integer (int32)

Nombre minimal de valeurs.

AtlasRelationshipDef

AtlasRelationshipDef est un TypeDef qui définit une relation. Comme avec d’autres typesDefs, AtlasRelationshipDef a un nom. Une fois que relationshipDef a créé un guid. Le nom et le guid sont les 2 façons dont RelationshipDef est identifié. RelationshipDefs a 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. RelationshipDefs peut avoir AttributeDefs , bien que seuls les types primitifs soient autorisés. RelationshipDefs a une relationCategory spécifiant le type UML de relation requis La façon dont EntityDefs et RelationshipDefs sont destinés à être utilisés est que EntityDefs définit AttributeDefs ces AttributeDefs ne spécifie pas de nom de type EntityDef comme leurs 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 aura des attributs attr1,attr2,attr3,attr7 Quand une instance d’EntityDef B est créée, elle aura des attributs attr4,attr5,attr6,attr8

De cette façon, relationshipDefs peut être créé séparément de entityDefs et peut 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 (int64)

Heure créée 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 de la définition de type.

relationshipCategory

RelationshipCategory

La catégorie Relation détermine le style de relation autour de l’endiguement et du cycle de vie. La terminologie UML est utilisée pour les valeurs. ASSOCIATION est une relation sans contenant-contenu. LA COMPOSITION et l’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 (int64)

Heure de mise à jour de l’enregistrement.

updatedBy

string

Utilisateur qui a mis à jour l’enregistrement.

version

integer (int64)

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 la fin de la relation.

AtlasStructDef

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

Nom Type Description
attributeDefs

AtlasAttributeDef[]

Tableau de définitions d’attributs.

category

TypeCategory

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

createTime

integer (int64)

Heure créée 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 de la définition de type.

serviceType

string

Type de service.

typeVersion

string

Version du type.

updateTime

integer (int64)

Heure de mise à jour de l’enregistrement.

updatedBy

string

Utilisateur qui a mis à jour l’enregistrement.

version

integer (int64)

Version de l’enregistrement.

AtlasTypesDef

Définitions de 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é

Valeur Description
LIST

liste

SET

set

SINGLE

célibataire

DateFormat

Format de date.

Nom Type Description
availableLocales

string[]

Tableau de paramètres régionaux disponibles.

calendar

number (float)

Calendrier

dateInstance

DateFormat

Format de date.

dateTimeInstance

DateFormat

Format de date.

instance

DateFormat

Format de date.

lenient

boolean

Détermine la lénience du format de date.

numberFormat

NumberFormat

Format numérique.

timeInstance

DateFormat

Format de date.

timeZone

TimeZone

Informations sur le fuseau horaire.

NumberFormat

Format numérique.

Nom Type Description
availableLocales

string[]

Format numérique.

currency

string

La 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 (int32)

Nombre maximal de chiffres de fraction.

maximumIntegerDigits

integer (int32)

Nombre maximal de chiffres entiers.

minimumFractionDigits

integer (int32)

Nombre minimal de chiffres de fraction.

minimumIntegerDigits

integer (int32)

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 arrondi.

RelationshipCategory

Catégorie de relation

Valeur Description
AGGREGATION

agrégation

ASSOCIATION

association

COMPOSITION

composition

RoundingMode

Mode arrondi

Valeur Description
CEILING

plafond

DOWN

Éteindre

FLOOR

plancher

HALF_DOWN

moitié vers le bas

HALF_EVEN

moitié même

HALF_UP

moitié vers le haut

UNNECESSARY

inutile

UP

en haut

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 (int64)

Heure créée 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 de la définition de type.

serviceType

string

Type de service.

typeVersion

string

Version du type.

updateTime

integer (int64)

Heure de mise à jour de l’enregistrement.

updatedBy

string

Utilisateur qui a mis à jour l’enregistrement.

version

integer (int64)

Version de l’enregistrement.

TimeZone

Informations sur le fuseau horaire.

Nom Type Description
availableIds

string[]

Tableau d’ID disponibles.

default

TimeZone

Informations sur le fuseau horaire.

displayName

string

Nom complet du fuseau horaire.

dstSavings

integer (int32)

Valeur de l’heure d’été.

id

string

ID du fuseau horaire.

rawOffset

integer (int32)

Décalage brut du fuseau horaire.

TypeCategory

Catégorie de type

Valeur Description
ARRAY

tableau

CLASSIFICATION

classification ;

ENTITY

Entité

ENUM

énumération

MAP

carte

OBJECT_ID_TYPE

type d’ID d’objet

PRIMITIVE

primitif

RELATIONSHIP

relationship

STRUCT

struct

TERM_TEMPLATE

modèle de terme