datahub/metadata-ingestion/examples/library/notebook_add_owner.py

36 lines
978 B
Python

# metadata-ingestion/examples/library/notebook_add_owner.py
import logging
from datahub.emitter.mce_builder import make_user_urn
from datahub.emitter.mcp import MetadataChangeProposalWrapper
from datahub.emitter.rest_emitter import DatahubRestEmitter
from datahub.metadata.schema_classes import (
OwnerClass,
OwnershipClass,
OwnershipTypeClass,
)
log = logging.getLogger(__name__)
logging.basicConfig(level=logging.INFO)
emitter = DatahubRestEmitter(gms_server="http://localhost:8080")
notebook_urn = "urn:li:notebook:(querybook,customer_analysis_2024)"
owner_to_add = make_user_urn("data_scientist")
ownership_type = OwnershipTypeClass.TECHNICAL_OWNER
owners_to_add = [
OwnerClass(owner=owner_to_add, type=ownership_type),
]
ownership = OwnershipClass(owners=owners_to_add)
event = MetadataChangeProposalWrapper(
entityUrn=notebook_urn,
aspect=ownership,
)
emitter.emit(event)
log.info(f"Added owner {owner_to_add} to notebook {notebook_urn}")