Type - Bulk Create
大量建立所有 atlas 類型定義。 請避免重新建立現有的類型。
POST {endpoint}/datamap/api/atlas/v2/types/typedefs
URI 參數
名稱 | 位於 | 必要 | 類型 | Description |
---|---|---|---|---|
endpoint
|
path | True |
string |
要求本文
名稱 | 類型 | Description |
---|---|---|
businessMetadataDefs |
businessMetadataDefs |
|
classificationDefs |
分類定義的陣列。 |
|
entityDefs |
實體定義的陣列。 |
|
enumDefs |
列舉定義的陣列。 |
|
relationshipDefs |
關聯性定義的陣列。 |
|
structDefs |
結構定義的陣列。 |
|
termTemplateDefs |
字詞範本定義的陣列。 |
回應
名稱 | 類型 | Description |
---|---|---|
200 OK |
要求已成功。 |
|
Other Status Codes |
未預期的錯誤回應。 |
安全性
OAuth2Auth
類型:
oauth2
Flow:
implicit
授權 URL:
https://login.microsoftonline.com/common/oauth2/authorize
範圍
名稱 | Description |
---|---|
https://purview.azure.net/.default |
範例
Type_Bulk |
Type_Bulk |
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"
}
}
]
}
]
}
定義
名稱 | Description |
---|---|
Atlas |
類別,擷取結構屬性的詳細數據。 |
Atlas |
類別,擷取結構類型的詳細數據。 |
Atlas |
類別,擷取分類類型的詳細數據。 |
Atlas |
類別,擷取條件約束的詳細數據。 |
Atlas |
類別,擷取實體類型的詳細數據。 |
Atlas |
類別,擷取列舉類型的詳細數據。 |
Atlas |
類別,擷取列舉專案的詳細數據。 |
Atlas |
來自服務的錯誤回應 |
Atlas |
relationshipEndDef 代表關聯性的結尾。 關聯性的結尾是由類型、屬性名稱、基數,以及它是否為關聯性的容器結尾所定義。 |
Atlas |
AtlasRelationshipDef 是定義關聯性的 TypeDef。 如同其他 typeDefs,AtlasRelationshipDef 具有名稱。 建立 RelationshipDef 之後,就會有 guid。 名稱和 guid 是識別 RelationshipDef 的 2 種方式。 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 分開撰寫,並將關聯性屬性插入實體實例 |
Atlas |
relationshipEndDef 代表關聯性的結尾。 關聯性的結尾是由類型、屬性名稱、基數,以及它是否為關聯性的容器結尾所定義。 |
Atlas |
類別,擷取結構類型的詳細數據。 |
Atlas |
型別的定義。 |
Cardinality |
基數 |
Date |
日期格式。 |
Number |
數位格式。 |
Relationship |
關聯性類別 |
Rounding |
四捨五入模式 |
Term |
詞彙詞彙的字詞範本定義。 |
Time |
時區資訊。 |
Type |
類型類別 |
AtlasAttributeDef
類別,擷取結構屬性的詳細數據。
名稱 | 類型 | Description |
---|---|---|
cardinality |
單一值屬性或多重值屬性。 |
|
constraints |
條件約束的陣列。 |
|
defaultValue |
string |
屬性的預設值。 |
description |
string |
屬性的描述。 |
includeInNotification |
boolean |
判斷它是否包含在通知中。 |
isIndexable |
boolean |
判斷它是否可編製索引。 |
isOptional |
boolean |
判斷它是否為選擇性。 |
isUnique |
boolean |
判斷它是否是唯一的。 |
name |
string |
屬性的名稱。 |
options |
object |
屬性的選項。 |
typeName |
string |
型別的名稱。 |
valuesMaxCount |
integer |
值的最大計數。 |
valuesMinCount |
integer |
值的最小計數。 |
AtlasBusinessMetadataDef
類別,擷取結構類型的詳細數據。
名稱 | 類型 | Description |
---|---|---|
attributeDefs |
屬性定義的陣列。 |
|
category |
類別目錄的列舉。 |
|
createTime |
integer |
記錄的建立時間。 |
createdBy |
string |
建立記錄的使用者。 |
dateFormatter |
日期格式。 |
|
description |
string |
型別定義的描述。 |
guid |
string |
型別定義的 GUID。 |
lastModifiedTS |
string |
用於並行控制的 ETag。 |
name |
string |
型別定義的名稱。 |
options |
object |
型別定義的選項。 |
serviceType |
string |
服務類型。 |
typeVersion |
string |
型別的版本。 |
updateTime |
integer |
記錄的更新時間。 |
updatedBy |
string |
更新記錄的使用者。 |
version |
integer |
記錄的版本。 |
AtlasClassificationDef
類別,擷取分類類型的詳細數據。
名稱 | 類型 | Description |
---|---|---|
attributeDefs |
屬性定義的陣列。 |
|
category |
類別目錄的列舉。 |
|
createTime |
integer |
記錄的建立時間。 |
createdBy |
string |
建立記錄的使用者。 |
dateFormatter |
日期格式。 |
|
description |
string |
型別定義的描述。 |
entityTypes |
string[] |
在 classificationDef 中指定 entityType 名稱清單,可確保只能將分類套用至這些 entityType。 實體類型的任何子類型都會繼承限制。 任何 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
類別,擷取條件約束的詳細數據。
名稱 | 類型 | Description |
---|---|---|
params |
條件約束定義的參數。 |
|
type |
string |
條件約束的類型。 |
AtlasEntityDef
類別,擷取實體類型的詳細數據。
名稱 | 類型 | Description |
---|---|---|
attributeDefs |
屬性定義的陣列。 |
|
category |
類別目錄的列舉。 |
|
createTime |
integer |
記錄的建立時間。 |
createdBy |
string |
建立記錄的使用者。 |
dateFormatter |
日期格式。 |
|
description |
string |
型別定義的描述。 |
guid |
string |
型別定義的 GUID。 |
lastModifiedTS |
string |
用於並行控制的 ETag。 |
name |
string |
型別定義的名稱。 |
options |
object |
型別定義的選項。 |
relationshipAttributeDefs |
關聯性屬性的陣列。 |
|
serviceType |
string |
服務類型。 |
subTypes |
string[] |
子類型的陣列。 |
superTypes |
string[] |
超級類型的陣列。 |
typeVersion |
string |
型別的版本。 |
updateTime |
integer |
記錄的更新時間。 |
updatedBy |
string |
更新記錄的使用者。 |
version |
integer |
記錄的版本。 |
AtlasEnumDef
類別,擷取列舉類型的詳細數據。
名稱 | 類型 | Description |
---|---|---|
category |
類別目錄的列舉。 |
|
createTime |
integer |
記錄的建立時間。 |
createdBy |
string |
建立記錄的使用者。 |
dateFormatter |
日期格式。 |
|
defaultValue |
string |
預設值。 |
description |
string |
型別定義的描述。 |
elementDefs |
列舉項目定義的陣列。 |
|
guid |
string |
型別定義的 GUID。 |
lastModifiedTS |
string |
用於並行控制的 ETag。 |
name |
string |
型別定義的名稱。 |
options |
object |
型別定義的選項。 |
serviceType |
string |
服務類型。 |
typeVersion |
string |
型別的版本。 |
updateTime |
integer |
記錄的更新時間。 |
updatedBy |
string |
更新記錄的使用者。 |
version |
integer |
記錄的版本。 |
AtlasEnumElementDef
類別,擷取列舉專案的詳細數據。
名稱 | 類型 | Description |
---|---|---|
description |
string |
列舉項目定義的描述。 |
ordinal |
integer |
列舉項目定義的序數。 |
value |
string |
列舉項目定義的值。 |
AtlasErrorResponse
來自服務的錯誤回應
名稱 | 類型 | Description |
---|---|---|
errorCode |
string |
錯誤碼。 |
errorMessage |
string |
錯誤訊息。 |
requestId |
string |
要求標識碼。 |
AtlasRelationshipAttributeDef
relationshipEndDef 代表關聯性的結尾。 關聯性的結尾是由類型、屬性名稱、基數,以及它是否為關聯性的容器結尾所定義。
名稱 | 類型 | Description |
---|---|---|
cardinality |
單一值屬性或多重值屬性。 |
|
constraints |
條件約束的陣列。 |
|
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 是識別 RelationshipDef 的 2 種方式。 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 分開撰寫,並將關聯性屬性插入實體實例
名稱 | 類型 | Description |
---|---|---|
attributeDefs |
屬性定義的陣列。 |
|
category |
類別目錄的列舉。 |
|
createTime |
integer |
記錄的建立時間。 |
createdBy |
string |
建立記錄的使用者。 |
dateFormatter |
日期格式。 |
|
description |
string |
型別定義的描述。 |
endDef1 |
relationshipEndDef 代表關聯性的結尾。 關聯性的結尾是由類型、屬性名稱、基數,以及它是否為關聯性的容器結尾所定義。 |
|
endDef2 |
relationshipEndDef 代表關聯性的結尾。 關聯性的結尾是由類型、屬性名稱、基數,以及它是否為關聯性的容器結尾所定義。 |
|
guid |
string |
型別定義的 GUID。 |
lastModifiedTS |
string |
用於並行控制的 ETag。 |
name |
string |
型別定義的名稱。 |
options |
object |
型別定義的選項。 |
relationshipCategory |
[關聯性] 類別會決定內含專案和生命週期周圍的關聯性樣式。 UML 術語用於值。 ASSOCIATION 是不含內含項的關聯性。 COMPOSITION 和 AGGREGATION 是內含項目關聯性。 差異在於容器及其子系的生命週期。 在 COMPOSITION 案例中,子系不能在沒有容器的情況下存在。 針對 AGGREGATION,容器和子系的生命週期完全獨立。 |
|
relationshipLabel |
string |
關聯性的標籤。 |
serviceType |
string |
服務類型。 |
typeVersion |
string |
型別的版本。 |
updateTime |
integer |
記錄的更新時間。 |
updatedBy |
string |
更新記錄的使用者。 |
version |
integer |
記錄的版本。 |
AtlasRelationshipEndDef
relationshipEndDef 代表關聯性的結尾。 關聯性的結尾是由類型、屬性名稱、基數,以及它是否為關聯性的容器結尾所定義。
名稱 | 類型 | Description |
---|---|---|
cardinality |
單一值屬性或多重值屬性。 |
|
description |
string |
關聯性結束定義的描述。 |
isContainer |
boolean |
判斷其是否為容器。 |
isLegacyAttribute |
boolean |
判斷它是否為舊版屬性。 |
name |
string |
關聯性結束定義的名稱。 |
type |
string |
關聯性結束的類型。 |
AtlasStructDef
類別,擷取結構類型的詳細數據。
名稱 | 類型 | Description |
---|---|---|
attributeDefs |
屬性定義的陣列。 |
|
category |
類別目錄的列舉。 |
|
createTime |
integer |
記錄的建立時間。 |
createdBy |
string |
建立記錄的使用者。 |
dateFormatter |
日期格式。 |
|
description |
string |
型別定義的描述。 |
guid |
string |
型別定義的 GUID。 |
lastModifiedTS |
string |
用於並行控制的 ETag。 |
name |
string |
型別定義的名稱。 |
options |
object |
型別定義的選項。 |
serviceType |
string |
服務類型。 |
typeVersion |
string |
型別的版本。 |
updateTime |
integer |
記錄的更新時間。 |
updatedBy |
string |
更新記錄的使用者。 |
version |
integer |
記錄的版本。 |
AtlasTypesDef
型別的定義。
名稱 | 類型 | Description |
---|---|---|
businessMetadataDefs |
businessMetadataDefs |
|
classificationDefs |
分類定義的陣列。 |
|
entityDefs |
實體定義的陣列。 |
|
enumDefs |
列舉定義的陣列。 |
|
relationshipDefs |
關聯性定義的陣列。 |
|
structDefs |
結構定義的陣列。 |
|
termTemplateDefs |
字詞範本定義的陣列。 |
CardinalityValue
基數
名稱 | 類型 | Description |
---|---|---|
LIST |
string |
清單 |
SET |
string |
設置 |
SINGLE |
string |
單 |
DateFormat
日期格式。
名稱 | 類型 | Description |
---|---|---|
availableLocales |
string[] |
可用地區設定的陣列。 |
calendar |
number |
日曆 |
dateInstance |
日期格式。 |
|
dateTimeInstance |
日期格式。 |
|
instance |
日期格式。 |
|
lenient |
boolean |
決定日期格式的寬大。 |
numberFormat |
數位格式。 |
|
timeInstance |
日期格式。 |
|
timeZone |
時區資訊。 |
NumberFormat
數位格式。
名稱 | 類型 | Description |
---|---|---|
availableLocales |
string[] |
數位格式。 |
currency |
string |
貨幣。 |
currencyInstance |
數位格式。 |
|
groupingUsed |
boolean |
判斷是否使用群組。 |
instance |
數位格式。 |
|
integerInstance |
數位格式。 |
|
maximumFractionDigits |
integer |
小數位數的最大值。 |
maximumIntegerDigits |
integer |
整數位數的最大值。 |
minimumFractionDigits |
integer |
小數位數的最小值。 |
minimumIntegerDigits |
integer |
整數位數的最小值。 |
numberInstance |
數位格式。 |
|
parseIntegerOnly |
boolean |
判斷是否只剖析整數。 |
percentInstance |
數位格式。 |
|
roundingMode |
四捨五入模式的列舉。 |
RelationshipCategory
關聯性類別
名稱 | 類型 | Description |
---|---|---|
AGGREGATION |
string |
集合體 |
ASSOCIATION |
string |
協會 |
COMPOSITION |
string |
組成 |
RoundingMode
四捨五入模式
名稱 | 類型 | Description |
---|---|---|
CEILING |
string |
天花板 |
DOWN |
string |
下 |
FLOOR |
string |
地板 |
HALF_DOWN |
string |
半下 |
HALF_EVEN |
string |
半偶數 |
HALF_UP |
string |
上半 |
UNNECESSARY |
string |
必要 |
UP |
string |
向上 |
TermTemplateDef
詞彙詞彙的字詞範本定義。
名稱 | 類型 | Description |
---|---|---|
attributeDefs |
屬性定義的陣列。 |
|
category |
類別目錄的列舉。 |
|
createTime |
integer |
記錄的建立時間。 |
createdBy |
string |
建立記錄的使用者。 |
dateFormatter |
日期格式。 |
|
description |
string |
型別定義的描述。 |
guid |
string |
型別定義的 GUID。 |
lastModifiedTS |
string |
用於並行控制的 ETag。 |
name |
string |
型別定義的名稱。 |
options |
object |
型別定義的選項。 |
serviceType |
string |
服務類型。 |
typeVersion |
string |
型別的版本。 |
updateTime |
integer |
記錄的更新時間。 |
updatedBy |
string |
更新記錄的使用者。 |
version |
integer |
記錄的版本。 |
TimeZone
時區資訊。
名稱 | 類型 | Description |
---|---|---|
availableIds |
string[] |
可用標識碼的陣列。 |
default |
時區資訊。 |
|
displayName |
string |
時區的顯示名稱。 |
dstSavings |
integer |
日光節約時間的值。 |
id |
string |
時區的標識碼。 |
rawOffset |
integer |
時區的原始位移。 |
TypeCategory
類型類別
名稱 | 類型 | Description |
---|---|---|
ARRAY |
string |
陣列 |
CLASSIFICATION |
string |
分類 |
ENTITY |
string |
實體 |
ENUM |
string |
列舉 |
MAP |
string |
地圖 |
OBJECT_ID_TYPE |
string |
物件識別碼類型 |
PRIMITIVE |
string |
原始 |
RELATIONSHIP |
string |
關係 |
STRUCT |
string |
結構 |
TERM_TEMPLATE |
string |
字詞範本 |