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


Type - Bulk Create

Создание всех определений типов атласа в пакетном режиме. Будут созданы только новые определения. Все изменения существующих определений будут удалены.

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

Параметры URI

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

string

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

Имя Тип Описание
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

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

AtlasRelationshipDef

AtlasRelationshipDef — это TypeDef, определяющий связь. Как и в других typeDefs, AtlasRelationshipDef имеет имя. После создания RelationshipDef имеет guid. Имя и guid — это 2 способа идентификации RelationshipDef. RelationshipDefs имеет 2 конца, каждый из которых определяет кратность, имя и имя типа EntityDef, а также при необходимости указывает, является ли конец контейнером. RelationshipDefs может иметь AttributeDefs, хотя разрешены только примитивные типы. RelationshipDefs имеют свойство relationshipCategory, указывающее требуемый тип UML связи. Способ использования EntityDefs и RelationshipDefs заключается в том, что EntityDefs определит AttributeDefs, которые эти AttributeDefs не будут указывать имя типа 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,attr7 При создании экземпляра EntityDef B он будет иметь атрибуты attr4,attr5,attr6,attr8.

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

AtlasRelationshipEndDef

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

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

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

valuesMinCount

integer

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

AtlasBusinessMetadataDef

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

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

AtlasAttributeDef[]

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

category

TypeCategory

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

createTime

integer

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

createdBy

string

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

dateFormatter

DateFormat

Формат даты.

description

string

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

guid

string

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

lastModifiedTS

string

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

name

string

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

options

object

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

serviceType

string

Тип службы.

typeVersion

string

Версия типа.

updateTime

integer

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

updatedBy

string

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

version

integer

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

AtlasClassificationDef

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

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

AtlasAttributeDef[]

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

category

TypeCategory

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

createTime

integer

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

createdBy

string

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

dateFormatter

DateFormat

Формат даты.

description

string

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

entityTypes

string[]

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

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

Все подтипы classificationDef наследуют ограничения родительских entityTypes.

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

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

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

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

guid

string

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

lastModifiedTS

string

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

name

string

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

options

object

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

serviceType

string

Тип службы.

subTypes

string[]

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

superTypes

string[]

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

typeVersion

string

Версия типа.

updateTime

integer

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

updatedBy

string

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

version

integer

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

AtlasConstraintDef

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

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

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

type

string

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

AtlasEntityDef

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

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

AtlasAttributeDef[]

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

category

TypeCategory

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

createTime

integer

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

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

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

updatedBy

string

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

version

integer

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

AtlasEnumDef

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

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

TypeCategory

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

createTime

integer

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

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

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

updatedBy

string

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

version

integer

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

AtlasEnumElementDef

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

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

string

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

ordinal

integer

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

value

string

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

AtlasErrorResponse

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

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

string

Код ошибки.

errorMessage

string

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

requestId

string

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

AtlasRelationshipAttributeDef

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

Имя Тип Описание
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

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

valuesMinCount

integer

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

AtlasRelationshipDef

AtlasRelationshipDef — это TypeDef, определяющий связь. Как и в других typeDefs, AtlasRelationshipDef имеет имя. После создания RelationshipDef имеет guid. Имя и guid — это 2 способа идентификации RelationshipDef. RelationshipDefs имеет 2 конца, каждый из которых определяет кратность, имя и имя типа EntityDef, а также при необходимости указывает, является ли конец контейнером. RelationshipDefs может иметь AttributeDefs, хотя разрешены только примитивные типы. RelationshipDefs имеют свойство relationshipCategory, указывающее требуемый тип UML связи. Способ использования EntityDefs и RelationshipDefs заключается в том, что EntityDefs определит AttributeDefs, которые эти AttributeDefs не будут указывать имя типа 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,attr7 При создании экземпляра EntityDef B он будет иметь атрибуты attr4,attr5,attr6,attr8.

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

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

AtlasAttributeDef[]

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

category

TypeCategory

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

createTime

integer

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

createdBy

string

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

dateFormatter

DateFormat

Формат даты.

description

string

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

endDef1

AtlasRelationshipEndDef

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

endDef2

AtlasRelationshipEndDef

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

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

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

updatedBy

string

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

version

integer

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

AtlasRelationshipEndDef

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

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

CardinalityValue

Атрибут с одним значением или атрибут с несколькими значениями.

description

string

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

isContainer

boolean

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

isLegacyAttribute

boolean

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

name

string

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

type

string

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

AtlasStructDef

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

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

AtlasAttributeDef[]

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

category

TypeCategory

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

createTime

integer

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

createdBy

string

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

dateFormatter

DateFormat

Формат даты.

description

string

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

guid

string

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

lastModifiedTS

string

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

name

string

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

options

object

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

serviceType

string

Тип службы.

typeVersion

string

Версия типа.

updateTime

integer

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

updatedBy

string

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

version

integer

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

AtlasTypesDef

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

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

AtlasBusinessMetadataDef[]

businessMetadataDefs

classificationDefs

AtlasClassificationDef[]

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

entityDefs

AtlasEntityDef[]

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

enumDefs

AtlasEnumDef[]

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

relationshipDefs

AtlasRelationshipDef[]

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

structDefs

AtlasStructDef[]

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

termTemplateDefs

TermTemplateDef[]

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

CardinalityValue

Кратность

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

string

list

SET

string

set

SINGLE

string

single

DateFormat

Формат даты.

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

string[]

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

calendar

number

Календарь

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

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

maximumIntegerDigits

integer

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

minimumFractionDigits

integer

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

minimumIntegerDigits

integer

Минимум целочисленных цифр.

numberInstance

NumberFormat

Числовой формат.

parseIntegerOnly

boolean

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

percentInstance

NumberFormat

Числовой формат.

roundingMode

RoundingMode

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

RelationshipCategory

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

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

string

aggregation

ASSOCIATION

string

связь

COMPOSITION

string

Состав

RoundingMode

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

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

string

ceiling

DOWN

string

работу

FLOOR

string

floor

HALF_DOWN

string

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

HALF_EVEN

string

половина чета

HALF_UP

string

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

UNNECESSARY

string

не требуется;

UP

string

up

TermTemplateDef

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

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

AtlasAttributeDef[]

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

category

TypeCategory

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

createTime

integer

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

createdBy

string

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

dateFormatter

DateFormat

Формат даты.

description

string

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

guid

string

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

lastModifiedTS

string

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

name

string

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

options

object

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

serviceType

string

Тип службы.

typeVersion

string

Версия типа.

updateTime

integer

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

updatedBy

string

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

version

integer

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

TimeZone

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

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

string[]

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

default

TimeZone

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

displayName

string

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

dstSavings

integer

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

id

string

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

rawOffset

integer

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

TypeCategory

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

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

string

array

CLASSIFICATION

string

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

ENTITY

string

сущность

ENUM

string

enum

MAP

string

карта

OBJECT_ID_TYPE

string

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

PRIMITIVE

string

примитив

RELATIONSHIP

string

связь

STRUCT

string

struct

TERM_TEMPLATE

string

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