Skip to main content

未提供项目描述

项目描述

Python 中的 Apache Atlas 客户端

此 python 客户端仅与 Apache Atlas REST API v2 兼容。

在这个存储库中,我们开发了一个 python api 来生成图集实体并将它们导入图集实例。

快速开始

创建客户端以连接到 Atlas 实例

from atlaspyapi.client import Atlas
# login with your token
hostname = "https://atlas.lab.sspcloud.fr"
port = 443
oidc_token = "<your_token>"
atlas_client = Atlas(hostname, port, oidc_token=oidc_token)

# login with your username and password
atlas_client = Atlas(hostname, port, username='',password='')

搜索实体并返回实体的 guid

from atlaspyapi.entity_search.EntityFinder import EntityFinder

finder = EntityFinder(atlas_client)
search_result = finder.search_full_text("aws_s3_bucket", "test")

EntityFinder.show_search_results(search_result)
entity_number = EntityFinder.get_entity_number(search_result)
print("Find " + str(entity_number) + " result in total")

guid_list = EntityFinder.get_result_entity_guid_list(search_result)

for guid in guid_list:
    print("result:" + guid)

Atlas 实体 CRUD

S3 实体

from atlaspyapi.entity_management.s3.S3BucketManager import S3BucketManager

s3_bucket_manager = S3BucketManager(atlas_client)

# creat s3 bucket in atlas
name = "test"
domain = "s3://test.org"
qualified_name = "s3://test.org/test1"
description = "test for me"
s3_bucket_manager.create_entity(name, domain, qualified_name, description)
# get s3 bucket via guid
guid = "9642d134-4d0e-467c-8b36-ca73902d4c14"
e = s3_bucket_manager.get_entity(guid)
s3_bucket_manager.show_entity_attributes(e)
e_attributes = s3_bucket_manager.get_entity_attributes(e)
e_attributes_key_list = s3_bucket_manager.get_s3_attributes_key_list(e)
print(e_attributes_key_list)
print(e_attributes['description'])

# update s3 bucket attributes
s3_bucket_manager.update_entity(guid, 'description', 'update description from api')

# delete s3 bucket
s3_bucket_manager.delete_entity(guid)

蜂巢实体

hive_db = HiveDBManager(atlas_client)
hive_table = HiveTableManager(atlas_client)
hive_column = HiveColumnManager(atlas_client)

# insert hive tables
hive_db.create_entity("pengfei-stock", "pengfei.org", "database for my stock market",owner="pliu",location="pengfei.org")
hive_table.create_entity("favorite", "pengfei.org@pengfei-stock", "favorite stock")
hive_column.create_entity("stock_id", "int", "pengfei.org@pengfei-stock.favorite", "id of the stock")
hive_column.create_entity("stock_name", "string", "pengfei.org@pengfei-stock.favorite", "name of the stock")

生成图集实体json文件

如果您想自己使用 Atlas rest api,我们还为您提供 json 文件生成的支持

from atlaspyapi.entity_source_generation.S3BucketEntityGenerator import S3BucketEntityGenerator
name = "test"
domain = "s3://test.org"
qualified_name = "s3://test.org/test1"
description = "test for me"

s3_bucket_json_source = S3BucketEntityGenerator.generate_s3_bucket_json_source(name, domain,qualified_name,description
                                                                               , creator_id="toto")
print(s3_bucket_json_source)

包组织

entity_source_generation

在 entity_source_generation 文件夹中,您可以找到用于生成图集实体的各种模板和生成器。

实体搜索

在 entity_search 文件夹中,您可以找到帮助您在 Atlas 实例中查找实体的 EntityFinder

实体管理

在 entity_management 文件夹中,您可以找到各种将实体上传到图集的 REST 客户端

文档

在 docs 文件夹中,您可以找到显示此 api 支持的实体类型和属性的辅助函数

先决条件

本工具只需要python 3.7或以上

支持的操作系统

Windows XP/7/8/10

Linux

苹果系统

作者

  • 刘鹏飞

执照

该项目在 MIT 许可下获得许可 - 请参阅LICENSE.md文件了解详细信息

致谢

这个包是使用verdan/pyatlasclient项目创建的

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

atlaspyapi-0.2.7.ta​​r.gz (33.0 kB 查看哈希

已上传 source

内置分布

atlaspyapi-0.2.7-py3-none-any.whl (52.3 kB 查看哈希

已上传 py3