Type - Bulk Create
大量建立所有 atlas 類型定義。 請避免重新建立現有的類型。
POST {endpoint}/datamap/api/atlas/v2/types/typedefs
URI 參數
| 名稱 | 位於 | 必要 | 類型 | Description |
|---|---|---|---|---|
|
endpoint
|
path | True |
string (uri) |
要求本文
| 名稱 | 類型 | 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 (int32) |
值的最大計數。 |
| valuesMinCount |
integer (int32) |
值的最小計數。 |
AtlasBusinessMetadataDef
類別,擷取結構類型的詳細數據。
| 名稱 | 類型 | Description |
|---|---|---|
| attributeDefs |
屬性定義的陣列。 |
|
| category |
類別目錄的列舉。 |
|
| createTime |
integer (int64) |
記錄的建立時間。 |
| createdBy |
string |
建立記錄的使用者。 |
| dateFormatter |
日期格式。 |
|
| 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
類別,擷取分類類型的詳細數據。
| 名稱 | 類型 | Description |
|---|---|---|
| attributeDefs |
屬性定義的陣列。 |
|
| category |
類別目錄的列舉。 |
|
| createTime |
integer (int64) |
記錄的建立時間。 |
| 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 (int64) |
記錄的更新時間。 |
| updatedBy |
string |
更新記錄的使用者。 |
| version |
integer (int64) |
記錄的版本。 |
AtlasConstraintDef
類別,擷取條件約束的詳細數據。
| 名稱 | 類型 | Description |
|---|---|---|
| params |
條件約束定義的參數。 |
|
| type |
string |
條件約束的類型。 |
AtlasEntityDef
類別,擷取實體類型的詳細數據。
| 名稱 | 類型 | Description |
|---|---|---|
| attributeDefs |
屬性定義的陣列。 |
|
| category |
類別目錄的列舉。 |
|
| createTime |
integer (int64) |
記錄的建立時間。 |
| 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 (int64) |
記錄的更新時間。 |
| updatedBy |
string |
更新記錄的使用者。 |
| version |
integer (int64) |
記錄的版本。 |
AtlasEnumDef
類別,擷取列舉類型的詳細數據。
| 名稱 | 類型 | Description |
|---|---|---|
| category |
類別目錄的列舉。 |
|
| createTime |
integer (int64) |
記錄的建立時間。 |
| createdBy |
string |
建立記錄的使用者。 |
| dateFormatter |
日期格式。 |
|
| defaultValue |
string |
預設值。 |
| description |
string |
型別定義的描述。 |
| elementDefs |
列舉項目定義的陣列。 |
|
| guid |
string |
型別定義的 GUID。 |
| lastModifiedTS |
string |
用於並行控制的 ETag。 |
| name |
string |
型別定義的名稱。 |
| options |
object |
型別定義的選項。 |
| serviceType |
string |
服務類型。 |
| typeVersion |
string |
型別的版本。 |
| updateTime |
integer (int64) |
記錄的更新時間。 |
| updatedBy |
string |
更新記錄的使用者。 |
| version |
integer (int64) |
記錄的版本。 |
AtlasEnumElementDef
類別,擷取列舉專案的詳細數據。
| 名稱 | 類型 | Description |
|---|---|---|
| description |
string |
列舉項目定義的描述。 |
| ordinal |
integer (int32) |
列舉項目定義的序數。 |
| value |
string |
列舉項目定義的值。 |
AtlasErrorResponse
來自服務的錯誤回應
| 名稱 | 類型 | Description |
|---|---|---|
| errorCode |
string |
錯誤碼。 |
| errorMessage |
string |
錯誤訊息。 |
| requestId |
string (uuid) |
要求標識碼。 |
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 (int32) |
值的最大計數。 |
| valuesMinCount |
integer (int32) |
值的最小計數。 |
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 (int64) |
記錄的建立時間。 |
| 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 (int64) |
記錄的更新時間。 |
| updatedBy |
string |
更新記錄的使用者。 |
| version |
integer (int64) |
記錄的版本。 |
AtlasRelationshipEndDef
relationshipEndDef 代表關聯性的結尾。 關聯性的結尾是由類型、屬性名稱、基數,以及它是否為關聯性的容器結尾所定義。
| 名稱 | 類型 | Description |
|---|---|---|
| cardinality |
單一值屬性或多重值屬性。 |
|
| description |
string |
關聯性結束定義的描述。 |
| isContainer |
boolean |
判斷其是否為容器。 |
| isLegacyAttribute |
boolean |
判斷它是否為舊版屬性。 |
| name |
string |
關聯性結束定義的名稱。 |
| type |
string |
關聯性結束的類型。 |
AtlasStructDef
類別,擷取結構類型的詳細數據。
| 名稱 | 類型 | Description |
|---|---|---|
| attributeDefs |
屬性定義的陣列。 |
|
| category |
類別目錄的列舉。 |
|
| createTime |
integer (int64) |
記錄的建立時間。 |
| createdBy |
string |
建立記錄的使用者。 |
| dateFormatter |
日期格式。 |
|
| 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
型別的定義。
| 名稱 | 類型 | Description |
|---|---|---|
| businessMetadataDefs |
businessMetadataDefs |
|
| classificationDefs |
分類定義的陣列。 |
|
| entityDefs |
實體定義的陣列。 |
|
| enumDefs |
列舉定義的陣列。 |
|
| relationshipDefs |
關聯性定義的陣列。 |
|
| structDefs |
結構定義的陣列。 |
|
| termTemplateDefs |
字詞範本定義的陣列。 |
CardinalityValue
基數
| 值 | Description |
|---|---|
| SINGLE |
單 |
| LIST |
清單 |
| SET |
設置 |
DateFormat
日期格式。
| 名稱 | 類型 | Description |
|---|---|---|
| availableLocales |
string[] |
可用地區設定的陣列。 |
| calendar |
number (float) |
日曆 |
| dateInstance |
日期格式。 |
|
| dateTimeInstance |
日期格式。 |
|
| instance |
日期格式。 |
|
| lenient |
boolean |
決定日期格式的寬大。 |
| numberFormat |
數位格式。 |
|
| timeInstance |
日期格式。 |
|
| timeZone |
時區資訊。 |
NumberFormat
數位格式。
| 名稱 | 類型 | Description |
|---|---|---|
| availableLocales |
string[] |
數位格式。 |
| currency |
string |
貨幣。 |
| currencyInstance |
數位格式。 |
|
| groupingUsed |
boolean |
判斷是否使用群組。 |
| instance |
數位格式。 |
|
| integerInstance |
數位格式。 |
|
| maximumFractionDigits |
integer (int32) |
小數位數的最大值。 |
| maximumIntegerDigits |
integer (int32) |
整數位數的最大值。 |
| minimumFractionDigits |
integer (int32) |
小數位數的最小值。 |
| minimumIntegerDigits |
integer (int32) |
整數位數的最小值。 |
| numberInstance |
數位格式。 |
|
| parseIntegerOnly |
boolean |
判斷是否只剖析整數。 |
| percentInstance |
數位格式。 |
|
| roundingMode |
四捨五入模式的列舉。 |
RelationshipCategory
關聯性類別
| 值 | Description |
|---|---|
| ASSOCIATION |
關聯 |
| AGGREGATION |
彙總 |
| COMPOSITION |
組成 |
RoundingMode
四捨五入模式
| 值 | Description |
|---|---|
| UP |
向上 |
| DOWN |
下 |
| CEILING |
天花板 |
| FLOOR |
地板 |
| HALF_UP |
上半 |
| HALF_DOWN |
半下 |
| HALF_EVEN |
半偶數 |
| UNNECESSARY |
必要 |
TermTemplateDef
詞彙詞彙的字詞範本定義。
| 名稱 | 類型 | Description |
|---|---|---|
| attributeDefs |
屬性定義的陣列。 |
|
| category |
類別目錄的列舉。 |
|
| createTime |
integer (int64) |
記錄的建立時間。 |
| createdBy |
string |
建立記錄的使用者。 |
| dateFormatter |
日期格式。 |
|
| 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
時區資訊。
| 名稱 | 類型 | Description |
|---|---|---|
| availableIds |
string[] |
可用標識碼的陣列。 |
| default |
時區資訊。 |
|
| displayName |
string |
時區的顯示名稱。 |
| dstSavings |
integer (int32) |
日光節約時間的值。 |
| id |
string |
時區的標識碼。 |
| rawOffset |
integer (int32) |
時區的原始位移。 |
TypeCategory
類型類別
| 值 | Description |
|---|---|
| PRIMITIVE |
原始 |
| OBJECT_ID_TYPE |
物件識別碼類型 |
| ENUM |
列舉 |
| STRUCT |
結構 |
| CLASSIFICATION |
分類 |
| ENTITY |
實體 |
| ARRAY |
陣列 |
| MAP |
地圖 |
| RELATIONSHIP |
關聯 |
| TERM_TEMPLATE |
字詞範本 |