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

27 lines
802 B
Python

# metadata-ingestion/examples/library/datacontract_update_status.py
import logging
from datahub.emitter.mcp import MetadataChangeProposalWrapper
from datahub.emitter.rest_emitter import DatahubRestEmitter
from datahub.metadata.schema_classes import (
DataContractStateClass,
DataContractStatusClass,
)
log = logging.getLogger(__name__)
logging.basicConfig(level=logging.INFO)
contract_urn = "urn:li:dataContract:purchases-contract"
contract_status_aspect = DataContractStatusClass(state=DataContractStateClass.ACTIVE)
event = MetadataChangeProposalWrapper(
entityUrn=contract_urn,
aspect=contract_status_aspect,
)
rest_emitter = DatahubRestEmitter(gms_server="http://localhost:8080")
rest_emitter.emit(event)
log.info(f"Updated status of data contract {contract_urn} to ACTIVE")