0

我正在尝试使用 API 将一组分类或标签插入 Apache Atlas。我面临一个错误。

任何人都可以帮助我克服这个错误并插入分类。我的代码:


import requests
import json
from requests.auth import HTTPBasicAuth
#specify url
url = 'http://aaaaa/api/atlas/v2/entity/classification'
print(url)
bulk = { "classification":{ "typeName":"Confidential","attributes":{ "retention_required":"true","max_retention_time_months":"12"}},"entityGuids":[ "be532571-1663-4550-af6d-28cfe39769f6"]}

#Call REST API
response = requests.put(url, data=bulk,auth=HTTPBasicAuth('xxx', 'yyy'))
print(response)
print(response.text)

此 GUID 有效。

我面临的错误是:

<Response [500]>
There was an error processing your request. It has been logged (ID 7e31c72f5e0f5e3b).

简而言之,我想通过 python 实现给定的屏幕功能。

在此处输入图像描述

谢谢你。

4

1 回答 1

0

发送请求到:http://aaaaa/api/atlas/v2/types/typedefs

如果分类不存在,您应该使用 post,如果分类存在,您将收到 409 Client Error。使用 PUT 更新现有分类。

你的 json 应该是这样的:

{'classificationDefs: [{
            'entityTypes': entityTypes,
            'subTypes': subTypes,
            'superTypes': superTypes,
            'attributeDefs': attributeDefs,
            'category': category,
            'createdBy': createdBy,
            'description': description,
            'name': name,
            'options': options,
            'typeVersion': typeVersion,
            'updatedBy': updatedBy,
            'version': version
        }]
}

json中的属性类型:

列表:entityTypes、attributeDefs、superTypes、subTypes

字典:选项

编号:版本

rest 是 string 或 text 类型

于 2021-09-15T08:35:45.850 回答