mirror of
https://github.com/datahub-project/datahub.git
synced 2025-11-12 17:34:18 +00:00
34 lines
1.1 KiB
Python
34 lines
1.1 KiB
Python
import logging
|
|
import os
|
|
|
|
from datahub.emitter.mcp import MetadataChangeProposalWrapper
|
|
from datahub.emitter.rest_emitter import DatahubRestEmitter
|
|
from datahub.metadata._urns.urn_defs import GlossaryNodeUrn
|
|
from datahub.metadata.schema_classes import GlossaryNodeInfoClass
|
|
|
|
log = logging.getLogger(__name__)
|
|
logging.basicConfig(level=logging.INFO)
|
|
|
|
# Create a GlossaryNode URN
|
|
node_urn = GlossaryNodeUrn("Finance")
|
|
|
|
# Create the glossary node info with definition and display name
|
|
node_info = GlossaryNodeInfoClass(
|
|
definition="Category for all financial and accounting-related business terms including revenue, costs, and profitability measures.",
|
|
name="Financial Metrics",
|
|
)
|
|
|
|
# Create metadata change proposal
|
|
event: MetadataChangeProposalWrapper = MetadataChangeProposalWrapper(
|
|
entityUrn=str(node_urn),
|
|
aspect=node_info,
|
|
)
|
|
|
|
# Emit to DataHub
|
|
gms_server = os.getenv("DATAHUB_GMS_URL", "http://localhost:8080")
|
|
token = os.getenv("DATAHUB_GMS_TOKEN")
|
|
rest_emitter = DatahubRestEmitter(gms_server=gms_server, token=token)
|
|
rest_emitter.emit(event)
|
|
|
|
log.info(f"Created glossary node {node_urn}")
|