mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-11-11 08:23:40 +00:00
sample data for open metadata user & table apis (#16981)
This commit is contained in:
parent
98d0e10783
commit
d5af2ba6b6
@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"collections" : [
|
||||||
|
{
|
||||||
|
"name": "tables",
|
||||||
|
"service": "ometa_api_service",
|
||||||
|
"endpointURL": "https://docs.open-metadata.org/swagger.html#tag/Tables"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "users",
|
||||||
|
"service": "ometa_api_service",
|
||||||
|
"endpointURL": "https://docs.open-metadata.org/swagger.html#tag/Users"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@ -0,0 +1,266 @@
|
|||||||
|
{
|
||||||
|
"endpoints": [
|
||||||
|
{
|
||||||
|
"name": "listTables",
|
||||||
|
"displayName": "List tables",
|
||||||
|
"description": "Get a list of tables",
|
||||||
|
"endpointURL": "https://docs.open-metadata.org/api/v1/tables",
|
||||||
|
"apiCollection": "ometa_api_service.tables",
|
||||||
|
"requestMethod": "GET",
|
||||||
|
"responseSchema": {
|
||||||
|
"schemaType": "JSON",
|
||||||
|
"schemaFields": [
|
||||||
|
{
|
||||||
|
"name": "data",
|
||||||
|
"dataType": "RECORD",
|
||||||
|
"description": "list of tables",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"name": "id",
|
||||||
|
"dataType": "STRING",
|
||||||
|
"description": "ID of table"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "name",
|
||||||
|
"dataType": "STRING",
|
||||||
|
"description": "name of table"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "columns",
|
||||||
|
"dataType": "RECORD",
|
||||||
|
"description": "columns of table",
|
||||||
|
"children": []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "errors",
|
||||||
|
"dataType": "RECORD",
|
||||||
|
"description": "list of errors",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"name": "entity",
|
||||||
|
"dataType": "RECORD",
|
||||||
|
"description": "entity object",
|
||||||
|
"children": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "message",
|
||||||
|
"dataType": "STRING",
|
||||||
|
"description": "error message"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "paging",
|
||||||
|
"dataType": "RECORD",
|
||||||
|
"description": "paging",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"name": "total",
|
||||||
|
"dataType": "INT",
|
||||||
|
"description": "total pages"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "createTable",
|
||||||
|
"displayName": "Create a table",
|
||||||
|
"description": "Create a new table under an existing database",
|
||||||
|
"endpointURL": "https://docs.open-metadata.org/api/v1/tables",
|
||||||
|
"apiCollection": "ometa_api_service.tables",
|
||||||
|
"requestMethod": "POST",
|
||||||
|
"requestSchema": {
|
||||||
|
"schemaType": "JSON",
|
||||||
|
"schemaFields": [
|
||||||
|
{
|
||||||
|
"name": "databaseSchema",
|
||||||
|
"dataType": "STRING",
|
||||||
|
"description": "db schema of new table"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "name",
|
||||||
|
"dataType": "STRING",
|
||||||
|
"description": "name of table"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "columns",
|
||||||
|
"dataType": "RECORD",
|
||||||
|
"description": "list of columns",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"name": "name",
|
||||||
|
"dataType": "STRING",
|
||||||
|
"description": "name of column"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "datatype",
|
||||||
|
"dataType": "STRING",
|
||||||
|
"description": "datatype of column"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"responseSchema": {
|
||||||
|
"schemaType": "JSON",
|
||||||
|
"schemaFields": [
|
||||||
|
{
|
||||||
|
"name": "id",
|
||||||
|
"dataType": "STRING",
|
||||||
|
"description": "id of created table"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "name",
|
||||||
|
"dataType": "STRING",
|
||||||
|
"description": "name of created table"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "columns",
|
||||||
|
"dataType": "RECORD",
|
||||||
|
"description": "list of columns",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"name": "name",
|
||||||
|
"dataType": "STRING",
|
||||||
|
"description": "name of column"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "datatype",
|
||||||
|
"dataType": "STRING",
|
||||||
|
"description": "datatype of column"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "deleteTable",
|
||||||
|
"apiCollection": "ometa_api_service.tables",
|
||||||
|
"displayName": "Delete table by ID",
|
||||||
|
"description": "Delete table by ID",
|
||||||
|
"endpointURL": "https://docs.open-metadata.org/api/v1/tables/{id}",
|
||||||
|
"requestMethod": "DELETE"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "listUsers",
|
||||||
|
"displayName": "List users",
|
||||||
|
"description": "Get a list of users",
|
||||||
|
"endpointURL": "https://docs.open-metadata.org/api/v1/users",
|
||||||
|
"apiCollection": "ometa_api_service.users",
|
||||||
|
"requestMethod": "GET",
|
||||||
|
"responseSchema": {
|
||||||
|
"schemaType": "JSON",
|
||||||
|
"schemaFields": [
|
||||||
|
{
|
||||||
|
"name": "data",
|
||||||
|
"dataType": "RECORD",
|
||||||
|
"description": "list of users",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"name": "id",
|
||||||
|
"dataType": "STRING",
|
||||||
|
"description": "ID of user"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "name",
|
||||||
|
"dataType": "STRING",
|
||||||
|
"description": "name of user"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "email",
|
||||||
|
"dataType": "STRING",
|
||||||
|
"description": "email id of user"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "errors",
|
||||||
|
"dataType": "RECORD",
|
||||||
|
"description": "list of errors",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"name": "entity",
|
||||||
|
"dataType": "RECORD",
|
||||||
|
"description": "entity object",
|
||||||
|
"children": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "message",
|
||||||
|
"dataType": "STRING",
|
||||||
|
"description": "error message"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "paging",
|
||||||
|
"dataType": "RECORD",
|
||||||
|
"description": "paging",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"name": "total",
|
||||||
|
"dataType": "INT",
|
||||||
|
"description": "total pages"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "createUser",
|
||||||
|
"displayName": "Create a user",
|
||||||
|
"description": "Create a new user",
|
||||||
|
"endpointURL": "https://docs.open-metadata.org/api/v1/users",
|
||||||
|
"apiCollection": "ometa_api_service.users",
|
||||||
|
"requestMethod": "POST",
|
||||||
|
"requestSchema": {
|
||||||
|
"schemaType": "JSON",
|
||||||
|
"schemaFields": [
|
||||||
|
{
|
||||||
|
"name": "email",
|
||||||
|
"dataType": "STRING",
|
||||||
|
"description": "email of new user"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "name",
|
||||||
|
"dataType": "STRING",
|
||||||
|
"description": "name of new user"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"responseSchema": {
|
||||||
|
"schemaType": "JSON",
|
||||||
|
"schemaFields": [
|
||||||
|
{
|
||||||
|
"name": "id",
|
||||||
|
"dataType": "STRING",
|
||||||
|
"description": "ID of user"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "name",
|
||||||
|
"dataType": "STRING",
|
||||||
|
"description": "name of user"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "email",
|
||||||
|
"dataType": "STRING",
|
||||||
|
"description": "email id of user"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "deleteUser",
|
||||||
|
"apiCollection": "ometa_api_service.users",
|
||||||
|
"displayName": "Delete user by ID",
|
||||||
|
"description": "Delete user by ID",
|
||||||
|
"endpointURL": "https://docs.open-metadata.org/api/v1/users/{id}",
|
||||||
|
"requestMethod": "DELETE"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"type": "REST",
|
||||||
|
"serviceName": "ometa_api_service",
|
||||||
|
"serviceConnection": {
|
||||||
|
"config": {
|
||||||
|
"type": "REST",
|
||||||
|
"openAPISchemaURL": "https://docs.open-metadata.org/swagger.html",
|
||||||
|
"token":"token"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sourceConfig": {
|
||||||
|
"config": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -568,6 +568,31 @@ class SampleDataSource(
|
|||||||
encoding=UTF_8,
|
encoding=UTF_8,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
self.ometa_api_service_json = json.load(
|
||||||
|
open( # pylint: disable=consider-using-with
|
||||||
|
sample_data_folder + "/ometa_api_service/service.json",
|
||||||
|
"r",
|
||||||
|
encoding=UTF_8,
|
||||||
|
)
|
||||||
|
)
|
||||||
|
self.ometa_api_service = self.metadata.get_service_or_create(
|
||||||
|
entity=ApiService,
|
||||||
|
config=WorkflowSource(**self.ometa_api_service_json),
|
||||||
|
)
|
||||||
|
self.ometa_api_collection = json.load(
|
||||||
|
open(
|
||||||
|
sample_data_folder + "/ometa_api_service/ometa_api_collection.json",
|
||||||
|
"r",
|
||||||
|
encoding=UTF_8,
|
||||||
|
)
|
||||||
|
)
|
||||||
|
self.ometa_api_endpoint = json.load(
|
||||||
|
open(
|
||||||
|
sample_data_folder + "/ometa_api_service/ometa_api_endpoint.json",
|
||||||
|
"r",
|
||||||
|
encoding=UTF_8,
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def create(
|
def create(
|
||||||
@ -611,6 +636,7 @@ class SampleDataSource(
|
|||||||
yield from self.ingest_data_insights()
|
yield from self.ingest_data_insights()
|
||||||
yield from self.ingest_life_cycle()
|
yield from self.ingest_life_cycle()
|
||||||
yield from self.ingest_api_service()
|
yield from self.ingest_api_service()
|
||||||
|
yield from self.ingest_ometa_api_service()
|
||||||
|
|
||||||
def ingest_teams(self) -> Iterable[Either[CreateTeamRequest]]:
|
def ingest_teams(self) -> Iterable[Either[CreateTeamRequest]]:
|
||||||
"""
|
"""
|
||||||
@ -1698,3 +1724,14 @@ class SampleDataSource(
|
|||||||
for endpoint in self.api_endpoint.get("endpoints"):
|
for endpoint in self.api_endpoint.get("endpoints"):
|
||||||
endpoint_request = CreateAPIEndpointRequest(**endpoint)
|
endpoint_request = CreateAPIEndpointRequest(**endpoint)
|
||||||
yield Either(right=endpoint_request)
|
yield Either(right=endpoint_request)
|
||||||
|
|
||||||
|
def ingest_ometa_api_service(self) -> Iterable[Either[Entity]]:
|
||||||
|
"""Ingest users & tables ometa API services"""
|
||||||
|
|
||||||
|
for collection in self.ometa_api_collection.get("collections"):
|
||||||
|
collection_request = CreateAPICollectionRequest(**collection)
|
||||||
|
yield Either(right=collection_request)
|
||||||
|
|
||||||
|
for endpoint in self.ometa_api_endpoint.get("endpoints"):
|
||||||
|
endpoint_request = CreateAPIEndpointRequest(**endpoint)
|
||||||
|
yield Either(right=endpoint_request)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user