Поделиться через


Type - Bulk Create

Создание всех определений типов atlas в массовом режиме. Не создавайте существующие типы.

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

Параметры URI

Имя В Обязательно Тип Описание
endpoint
path True

string (uri)

Текст запроса

Имя Тип Описание
businessMetadataDefs

AtlasBusinessMetadataDef[]

businessMetadataDefs

classificationDefs

AtlasClassificationDef[]

Массив определений классификации.

entityDefs

AtlasEntityDef[]

Массив определений сущностей.

enumDefs

AtlasEnumDef[]

Массив определений перечисления.

relationshipDefs

AtlasRelationshipDef[]

Массив определений связей.

structDefs

AtlasStructDef[]

Массив определений структур.

termTemplateDefs

TermTemplateDef[]

Массив определений шаблонов терминов.

Ответы

Имя Тип Описание
200 OK

AtlasTypesDef

Запрос выполнен успешно.

Other Status Codes

AtlasErrorResponse

Непредвиденное сообщение об ошибке.

Безопасность

OAuth2Auth

Тип: oauth2
Flow: implicit
URL-адрес авторизации: https://login.microsoftonline.com/common/oauth2/authorize

Области

Имя Описание
https://purview.azure.net/.default

Примеры

Type_BulkCreate
Type_BulkCreateBusinessMetadataDefs

Type_BulkCreate

Образец запроса

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": []
}

Пример ответа

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

Образец запроса

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

Пример ответа

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

Определения

Имя Описание
AtlasAttributeDef

класс, который записывает сведения о атрибуте структуры.

AtlasBusinessMetadataDef

класс, который записывает сведения о типе структуры.

AtlasClassificationDef

класс, который записывает сведения о типе классификации.

AtlasConstraintDef

класс, который записывает сведения об ограничении.

AtlasEntityDef

класс, который записывает сведения о типе сущности.

AtlasEnumDef

класс, который записывает сведения о типе перечисления.

AtlasEnumElementDef

класс, который записывает сведения об элементе перечисления.

AtlasErrorResponse

Ответ об ошибке службы

AtlasRelationshipAttributeDef

СвязьEndDef представляет конец связи. Конец связи определяется типом, именем атрибута, кратностью и тем, является ли это конец связи контейнером.

AtlasRelationshipDef

AtlasRelationshipDef — это типDef, определяющий связь. Как и в других типахDefs, у AtlasRelationshipDef есть имя. После создания RelationshipDef имеет guid. Имя и guid — это 2 способа, которыми определяется RelationshipDef. RelationshipDefs имеет 2 конца, каждый из которых указывает кратность, имя и имя типа EntityDef, а также, при необходимости, является ли конец контейнером. RelationshipDefs может иметь AttributeDefs, хотя разрешены только примитивные типы. RelationshipDefs имеет связьCategory, указывающую тип связи UML, необходимый для использования EntityDefs и RelationshipDefs, заключается в том, что EntityDefs будет определять AttributeDefs эти атрибутыDefs, которые не будут указывать имя типа EntityDef в качестве их типов. RelationshipDefs вводит новые атрибуты для экземпляров сущностей. Например, EntityDef A может иметь атрибуты attr1,attr2,attr3

EntityDef B может иметь атрибуты attr4,attr5,attr6 RelationshipDef AtoB может определить 2 конца

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

При создании экземпляра EntityDef A он будет иметь атрибуты attr1,attr2,attr3,attr3,attr7 При создании экземпляра EntityDef B он будет иметь атрибуты attr4,attr4,attr5,attr6,attr8

Таким образом, связьDefs может быть создана отдельно от entityDefs и может внедрять атрибуты связи в экземпляры сущностей.

AtlasRelationshipEndDef

СвязьEndDef представляет конец связи. Конец связи определяется типом, именем атрибута, кратностью и тем, является ли это конец связи контейнером.

AtlasStructDef

класс, который записывает сведения о типе структуры.

AtlasTypesDef

Определения типов.

CardinalityValue

Мощность

DateFormat

Формат даты.

NumberFormat

Формат числа.

RelationshipCategory

Категория отношений

RoundingMode

Режим округления

TermTemplateDef

Определение шаблона термина для терминов глоссария.

TimeZone

Сведения о часовом поясе.

TypeCategory

Категория типов

AtlasAttributeDef

класс, который записывает сведения о атрибуте структуры.

Имя Тип Описание
cardinality

CardinalityValue

атрибут с одним значением или многозначный атрибут.

constraints

AtlasConstraintDef[]

Массив ограничений.

defaultValue

string

Значение атрибута по умолчанию.

description

string

Описание атрибута.

includeInNotification

boolean

Определяет, включена ли она в уведомление.

isIndexable

boolean

Определяет, можно ли индексировать.

isOptional

boolean

Определяет, является ли он необязательным.

isUnique

boolean

Определяет, является ли он уникальным.

name

string

Имя атрибута.

options

object

Параметры атрибута.

typeName

string

Имя типа.

valuesMaxCount

integer (int32)

Максимальное количество значений.

valuesMinCount

integer (int32)

Минимальное количество значений.

AtlasBusinessMetadataDef

класс, который записывает сведения о типе структуры.

Имя Тип Описание
attributeDefs

AtlasAttributeDef[]

Массив определений атрибутов.

category

TypeCategory

Перечисление категории типов.

createTime

integer (int64)

Время создания записи.

createdBy

string

Пользователь, создавший запись.

dateFormatter

DateFormat

Формат даты.

description

string

Описание определения типа.

guid

string

GUID определения типа.

lastModifiedTS

string

ETag для элемента управления параллелизмом.

name

string

Имя определения типа.

options

object

Параметры определения типа.

serviceType

string

Тип службы.

typeVersion

string

Версия типа.

updateTime

integer (int64)

Время обновления записи.

updatedBy

string

Пользователь, который обновил запись.

version

integer (int64)

Версия записи.

AtlasClassificationDef

класс, который записывает сведения о типе классификации.

Имя Тип Описание
attributeDefs

AtlasAttributeDef[]

Массив определений атрибутов.

category

TypeCategory

Перечисление категории типов.

createTime

integer (int64)

Время создания записи.

createdBy

string

Пользователь, создавший запись.

dateFormatter

DateFormat

Формат даты.

description

string

Описание определения типа.

entityTypes

string[]

Указание списка имен entityType в классификации гарантирует, что классификации можно применять только к этим сущностям.

Все подтипы типов сущностей наследуют ограничение.

Все подтипы классификации наследуют ограничения entityTypes родителей.

Любые подтипы классификации могут дополнительно ограничить ограничения entityTypes родителей, указав подмножество сущностейTypes.

Пустой список entityTypes, если родительские ограничения отсутствуют, значит нет ограничений.

Пустой список entityTypes при наличии родительских ограничений означает, что подтип выбирает ограничения родителей.

Если указан список сущностейTypes, где один наследует от другого, это будет отклонено. Это должно поощрять более чистые классификацииDefs.

guid

string

GUID определения типа.

lastModifiedTS

string

ETag для элемента управления параллелизмом.

name

string

Имя определения типа.

options

object

Параметры определения типа.

serviceType

string

Тип службы.

subTypes

string[]

Массив подтипов.

superTypes

string[]

Массив супертипов.

typeVersion

string

Версия типа.

updateTime

integer (int64)

Время обновления записи.

updatedBy

string

Пользователь, который обновил запись.

version

integer (int64)

Версия записи.

AtlasConstraintDef

класс, который записывает сведения об ограничении.

Имя Тип Описание
params

Параметры определения ограничения.

type

string

Тип ограничения.

AtlasEntityDef

класс, который записывает сведения о типе сущности.

Имя Тип Описание
attributeDefs

AtlasAttributeDef[]

Массив определений атрибутов.

category

TypeCategory

Перечисление категории типов.

createTime

integer (int64)

Время создания записи.

createdBy

string

Пользователь, создавший запись.

dateFormatter

DateFormat

Формат даты.

description

string

Описание определения типа.

guid

string

GUID определения типа.

lastModifiedTS

string

ETag для элемента управления параллелизмом.

name

string

Имя определения типа.

options

object

Параметры определения типа.

relationshipAttributeDefs

AtlasRelationshipAttributeDef[]

Массив атрибутов связи.

serviceType

string

Тип службы.

subTypes

string[]

Массив подтипов.

superTypes

string[]

Массив супертипов.

typeVersion

string

Версия типа.

updateTime

integer (int64)

Время обновления записи.

updatedBy

string

Пользователь, который обновил запись.

version

integer (int64)

Версия записи.

AtlasEnumDef

класс, который записывает сведения о типе перечисления.

Имя Тип Описание
category

TypeCategory

Перечисление категории типов.

createTime

integer (int64)

Время создания записи.

createdBy

string

Пользователь, создавший запись.

dateFormatter

DateFormat

Формат даты.

defaultValue

string

Значение по умолчанию.

description

string

Описание определения типа.

elementDefs

AtlasEnumElementDef[]

Массив определений элементов перечисления.

guid

string

GUID определения типа.

lastModifiedTS

string

ETag для элемента управления параллелизмом.

name

string

Имя определения типа.

options

object

Параметры определения типа.

serviceType

string

Тип службы.

typeVersion

string

Версия типа.

updateTime

integer (int64)

Время обновления записи.

updatedBy

string

Пользователь, который обновил запись.

version

integer (int64)

Версия записи.

AtlasEnumElementDef

класс, который записывает сведения об элементе перечисления.

Имя Тип Описание
description

string

Описание определения элемента перечисления.

ordinal

integer (int32)

Порядковый номер определения элемента перечисления.

value

string

Значение определения элемента перечисления.

AtlasErrorResponse

Ответ об ошибке службы

Имя Тип Описание
errorCode

string

Код ошибки.

errorMessage

string

Сообщение об ошибке.

requestId

string (uuid)

Идентификатор запроса.

AtlasRelationshipAttributeDef

СвязьEndDef представляет конец связи. Конец связи определяется типом, именем атрибута, кратностью и тем, является ли это конец связи контейнером.

Имя Тип Описание
cardinality

CardinalityValue

атрибут с одним значением или многозначный атрибут.

constraints

AtlasConstraintDef[]

Массив ограничений.

defaultValue

string

Значение атрибута по умолчанию.

description

string

Описание атрибута.

includeInNotification

boolean

Определяет, включена ли она в уведомление.

isIndexable

boolean

Определяет, можно ли индексировать.

isLegacyAttribute

boolean

Определяет, является ли он устаревшим атрибутом.

isOptional

boolean

Определяет, является ли он необязательным.

isUnique

boolean

Определяет, является ли он уникальным.

name

string

Имя атрибута.

options

object

Параметры атрибута.

relationshipTypeName

string

Имя типа связи.

typeName

string

Имя типа.

valuesMaxCount

integer (int32)

Максимальное количество значений.

valuesMinCount

integer (int32)

Минимальное количество значений.

AtlasRelationshipDef

AtlasRelationshipDef — это типDef, определяющий связь. Как и в других типахDefs, у AtlasRelationshipDef есть имя. После создания RelationshipDef имеет guid. Имя и guid — это 2 способа, которыми определяется RelationshipDef. RelationshipDefs имеет 2 конца, каждый из которых указывает кратность, имя и имя типа EntityDef, а также, при необходимости, является ли конец контейнером. RelationshipDefs может иметь AttributeDefs, хотя разрешены только примитивные типы. RelationshipDefs имеет связьCategory, указывающую тип связи UML, необходимый для использования EntityDefs и RelationshipDefs, заключается в том, что EntityDefs будет определять AttributeDefs эти атрибутыDefs, которые не будут указывать имя типа EntityDef в качестве их типов. RelationshipDefs вводит новые атрибуты для экземпляров сущностей. Например, EntityDef A может иметь атрибуты attr1,attr2,attr3

EntityDef B может иметь атрибуты attr4,attr5,attr6 RelationshipDef AtoB может определить 2 конца

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

При создании экземпляра EntityDef A он будет иметь атрибуты attr1,attr2,attr3,attr3,attr7 При создании экземпляра EntityDef B он будет иметь атрибуты attr4,attr4,attr5,attr6,attr8

Таким образом, связьDefs может быть создана отдельно от entityDefs и может внедрять атрибуты связи в экземпляры сущностей.

Имя Тип Описание
attributeDefs

AtlasAttributeDef[]

Массив определений атрибутов.

category

TypeCategory

Перечисление категории типов.

createTime

integer (int64)

Время создания записи.

createdBy

string

Пользователь, создавший запись.

dateFormatter

DateFormat

Формат даты.

description

string

Описание определения типа.

endDef1

AtlasRelationshipEndDef

СвязьEndDef представляет конец связи. Конец связи определяется типом, именем атрибута, кратностью и тем, является ли это конец связи контейнером.

endDef2

AtlasRelationshipEndDef

СвязьEndDef представляет конец связи. Конец связи определяется типом, именем атрибута, кратностью и тем, является ли это конец связи контейнером.

guid

string

GUID определения типа.

lastModifiedTS

string

ETag для элемента управления параллелизмом.

name

string

Имя определения типа.

options

object

Параметры определения типа.

relationshipCategory

RelationshipCategory

Категория отношений определяет стиль отношений вокруг сдерживания и жизненного цикла. Терминология UML используется для значений. ASSOCIATION — это связь без сдерживания. COMPOSITION и AGGREGATION — это связи с привязкой. Разница в жизненном цикле контейнера и его дочерних объектов. В случае COMPOSITION дочерние элементы не могут существовать без контейнера. Для AGGREGATION жизненные циклы контейнера и дочерних объектов полностью независимы.

relationshipLabel

string

Метка связи.

serviceType

string

Тип службы.

typeVersion

string

Версия типа.

updateTime

integer (int64)

Время обновления записи.

updatedBy

string

Пользователь, который обновил запись.

version

integer (int64)

Версия записи.

AtlasRelationshipEndDef

СвязьEndDef представляет конец связи. Конец связи определяется типом, именем атрибута, кратностью и тем, является ли это конец связи контейнером.

Имя Тип Описание
cardinality

CardinalityValue

атрибут с одним значением или многозначный атрибут.

description

string

Описание определения конца связи.

isContainer

boolean

Определяет, является ли он контейнером.

isLegacyAttribute

boolean

Определяет, является ли он устаревшим атрибутом.

name

string

Имя конечного определения связи.

type

string

Тип конца связи.

AtlasStructDef

класс, который записывает сведения о типе структуры.

Имя Тип Описание
attributeDefs

AtlasAttributeDef[]

Массив определений атрибутов.

category

TypeCategory

Перечисление категории типов.

createTime

integer (int64)

Время создания записи.

createdBy

string

Пользователь, создавший запись.

dateFormatter

DateFormat

Формат даты.

description

string

Описание определения типа.

guid

string

GUID определения типа.

lastModifiedTS

string

ETag для элемента управления параллелизмом.

name

string

Имя определения типа.

options

object

Параметры определения типа.

serviceType

string

Тип службы.

typeVersion

string

Версия типа.

updateTime

integer (int64)

Время обновления записи.

updatedBy

string

Пользователь, который обновил запись.

version

integer (int64)

Версия записи.

AtlasTypesDef

Определения типов.

Имя Тип Описание
businessMetadataDefs

AtlasBusinessMetadataDef[]

businessMetadataDefs

classificationDefs

AtlasClassificationDef[]

Массив определений классификации.

entityDefs

AtlasEntityDef[]

Массив определений сущностей.

enumDefs

AtlasEnumDef[]

Массив определений перечисления.

relationshipDefs

AtlasRelationshipDef[]

Массив определений связей.

structDefs

AtlasStructDef[]

Массив определений структур.

termTemplateDefs

TermTemplateDef[]

Массив определений шаблонов терминов.

CardinalityValue

Мощность

Значение Описание
LIST

список

SET

набор

SINGLE

единственный

DateFormat

Формат даты.

Имя Тип Описание
availableLocales

string[]

Массив доступных языковых стандартов.

calendar

number (float)

Календарь

dateInstance

DateFormat

Формат даты.

dateTimeInstance

DateFormat

Формат даты.

instance

DateFormat

Формат даты.

lenient

boolean

Определяет ленивость формата даты.

numberFormat

NumberFormat

Формат числа.

timeInstance

DateFormat

Формат даты.

timeZone

TimeZone

Сведения о часовом поясе.

NumberFormat

Формат числа.

Имя Тип Описание
availableLocales

string[]

Формат числа.

currency

string

Валюта.

currencyInstance

NumberFormat

Формат числа.

groupingUsed

boolean

Определяет, используется ли группирование.

instance

NumberFormat

Формат числа.

integerInstance

NumberFormat

Формат числа.

maximumFractionDigits

integer (int32)

Максимальное число цифр дроби.

maximumIntegerDigits

integer (int32)

Максимальное число целых цифр.

minimumFractionDigits

integer (int32)

Минимум цифр дроби.

minimumIntegerDigits

integer (int32)

Минимальное целочисленное число цифр.

numberInstance

NumberFormat

Формат числа.

parseIntegerOnly

boolean

Определяет, выполняется ли синтаксический анализ только целочисленного числа.

percentInstance

NumberFormat

Формат числа.

roundingMode

RoundingMode

Перечисление режима округления.

RelationshipCategory

Категория отношений

Значение Описание
AGGREGATION

агрегация

ASSOCIATION

связь

COMPOSITION

состав

RoundingMode

Режим округления

Значение Описание
CEILING

потолок

DOWN

вниз

FLOOR

floor

HALF_DOWN

половина вниз

HALF_EVEN

половина даже

HALF_UP

половина вверх

UNNECESSARY

ненужный

UP

вверх

TermTemplateDef

Определение шаблона термина для терминов глоссария.

Имя Тип Описание
attributeDefs

AtlasAttributeDef[]

Массив определений атрибутов.

category

TypeCategory

Перечисление категории типов.

createTime

integer (int64)

Время создания записи.

createdBy

string

Пользователь, создавший запись.

dateFormatter

DateFormat

Формат даты.

description

string

Описание определения типа.

guid

string

GUID определения типа.

lastModifiedTS

string

ETag для элемента управления параллелизмом.

name

string

Имя определения типа.

options

object

Параметры определения типа.

serviceType

string

Тип службы.

typeVersion

string

Версия типа.

updateTime

integer (int64)

Время обновления записи.

updatedBy

string

Пользователь, который обновил запись.

version

integer (int64)

Версия записи.

TimeZone

Сведения о часовом поясе.

Имя Тип Описание
availableIds

string[]

Массив доступных идентификаторов.

default

TimeZone

Сведения о часовом поясе.

displayName

string

Отображаемое имя часового пояса.

dstSavings

integer (int32)

Значение летнего времени.

id

string

Идентификатор часового пояса.

rawOffset

integer (int32)

Необработанное смещение часового пояса.

TypeCategory

Категория типов

Значение Описание
ARRAY

массив

CLASSIFICATION

классификация

ENTITY

Сущность

ENUM

перечисление

MAP

карта

OBJECT_ID_TYPE

Тип идентификатора объекта

PRIMITIVE

примитивный

RELATIONSHIP

отношение

STRUCT

Структура

TERM_TEMPLATE

шаблон терминов