Hello, I would like to associate a domain with a d...
# advice-metadata-modeling
d
Hello, I would like to associate a domain with a dataset using python SDK. Domain is an Aspect to dataset, but I don’t see any domain related Aspect Classes below: https://github.com/datahub-project/datahub/blob/master/metadata-models/src/main/pegasus/com/linkedin/metadata/aspect/DatasetAspect.pdl I don’t want to use GraphQL endpoint to do so. Any suggestion would be appreciated. Thanks, Mahbub
b
normally i just run ./gradlew metadata ingestioncodegen and check schema_classes.py for the classes anyways the code will look something like this
Copy code
from datahub.metadata.schema_classes import (
  DomainsClass,
  ChangeTypeClass
)
from datahub.emitter.mcp import MetadataChangeProposalWrapper
from datahub.ingestion.graph.client import DatahubClientConfig, DatahubGraph

graph = DatahubGraph(DatahubClientConfig(server = gms_endpoint))
new_domain = DomainsClass(domains=["xxx_urn_of_domain"])
event = MetadataChangeProposalWrapper(
  entity="dataset",
  changeType = ChangeTypeClass.UPSERT,
  entityUrn = urn_of_dataset,
  aspectName="domains",
  aspect=new_domain
)
graph.emit(event)
d
Thank you much, xL. That was very helpful. Appreciate it.
w
@dry-zoo-35797 Were you able to get this working?
@cool-florist-97035