教學:Atlas 2.2 功能

在本教學中,學習如何程式化地與新的 Atlas 2.2 API 互動,使用 Microsoft Purview 資料對應。

必要條件

商業元資料 API

商業元資料是一個包含自訂屬性 (關鍵值) 的範本。 你可以全域建立這些屬性,然後套用到多個類型定義。

Atlas endpoint

對於所有請求,你需要 Microsoft Purview 帳號的 Atlas 端點。

  1. 在 Azure 入口網站中找到你的 Microsoft Purview 帳號
  2. 在左側選單選擇 屬性 頁面
  3. 複製 Atlas 的端點 值

Microsoft Purview 屬性頁面截圖,並標示了 Atlas 端點框。

建立帶有屬性的商業元資料

你可以向以下端點發送 POST 請求:

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

提示

ApplucalableEntityTypes 屬性會告訴該中繼資料將應用到哪些資料型態。

範例 JSON:

   {
  "businessMetadataDefs": [
    {
      "category": "BUSINESS_METADATA",
      "createdBy": "admin",
      "updatedBy": "admin",
      "version": 1,
      "typeVersion": "1.1",
      "name": "<Name of Business Metadata>",
      "description": "",
      "attributeDefs": [
        {
          "name": "<Attribute Name>",
          "typeName": "string",
          "isOptional": true,
          "cardinality": "SINGLE",
          "isUnique": false,
          "isIndexable": true,
          "options": {
            "maxStrLength": "50",
            "applicableEntityTypes": "[\"Referenceable\"]"
          }          
        }
      ]
    }
  ]
}

新增或更新現有業務元資料屬性

你可以向以下端點發送 PUT 請求:

PUT {{endpoint}}/api/atlas/v2/types/typedefs

範例 JSON:

   {
  "businessMetadataDefs": [
    {
      "category": "BUSINESS_METADATA",
      "createdBy": "admin",
      "updatedBy": "admin",
      "version": 1,
      "typeVersion": "1.1",
      "name": "<Name of Business Metadata>",
      "description": "",
      "attributeDefs": [
        {
          "name": "<Attribute Name>",
          "typeName": "string",
          "isOptional": true,
          "cardinality": "SINGLE",
          "isUnique": false,
          "isIndexable": true,
          "options": {
            "maxStrLength": "500",
            "applicableEntityTypes": "[\"Referenceable\"]"
          }          
        },
        {
          "name": "<Attribute Name 2>",
          "typeName": "int",
          "isOptional": true,
          "cardinality": "SINGLE",
          "isUnique": false,
          "isIndexable": true,
          "options": {
            "applicableEntityTypes": "[\"Referenceable\"]"
          }          
        }
      ]
    }
  ]
}

取得商業元資料定義

你可以向以下端點發送 GET 請求:

GET {endpoint}}/api/atlas/v2/types/typedef/name/{{Business Metadata Name}}

將企業元資料屬性設定為實體

你可以向以下端點發送 POST 請求:

POST {{endpoint}}/api/atlas/v2/entity/guid/{{GUID}}/businessmetadata?isOverwrite=true

範例 JSON:

{
  "myBizMetaData1": {
        "bizAttr1": "I am myBizMetaData1.bizAttr1",
        "bizAttr2": 123,
  }
 }

從實體中刪除企業元資料屬性

你可以向以下端點發送 DELETE 請求:

'DELETE' {{endpoint}}/api/atlas/v2/entity/guid/{{GUID}}/businessmetadata?isOverwrite=true

範例 JSON:

{
  "myBizMetaData1": {
    "bizAttr1": ""    
  }
}

刪除企業中繼資料類型定義

注意事項

只有當商業元資料類型定義沒有參考資料時,也就是沒有指派到目錄中的任何資產,你才能刪除它。

你可以向以下端點發送 DELETE 請求:

DELETE {{endpoint}}/api/atlas/v2/types/typedef/name/{{Business Metadata Name}}

自訂屬性 API

自訂屬性是可以直接加入 Atlas 實體的鍵值對。

為一個實體設定自訂屬性

你可以向以下端點發送 POST 請求:

POST {{endpoint}}/api/atlas/v2/entity

範例 JSON:

{
    "entity": {
        "typeName": "azure_datalake_gen2_path",
        "attributes": {
           
            "qualifiedName": "<FQN of the asset>",
            "name": "data6.csv"
        },
        "guid": "3ffb28ff-138f-419e-84ba-348b0165e9e0",
        "customAttributes": {
            "custAttr1": "attr1",
            "custAttr2": "attr2"
        }
    }
}

標籤 API

標籤是可套用於任何 Atlas 實體的自由文字標籤。

將標籤設定為一個實體

你可以向以下端點發送 POST 請求:

POST {{endpoint}}/api/atlas/v2/entity/guid/{{GUID}}/labels

範例 JSON:

[
  "label1",
  "label2"
]

刪除標籤到實體

你可以向以下端點發送 DELETE 請求:

DELETE {{endpoint}}/api/atlas/v2/entity/guid/{{GUID}}/labels

範例 JSON:

[
  "label2"
]

後續步驟