mirror of
				https://github.com/datahub-project/datahub.git
				synced 2025-10-31 02:37:05 +00:00 
			
		
		
		
	Update domains docs to include nested domains (#9890)
Co-authored-by: Hyejin Yoon <0327jane@gmail.com>
This commit is contained in:
		
							parent
							
								
									11f6ab64c5
								
							
						
					
					
						commit
						59a26a6543
					
				| @ -79,6 +79,41 @@ You can now see `Marketing` domain has been created under `Govern > Domains`. | ||||
|   <img width="70%"  src="https://raw.githubusercontent.com/datahub-project/static-assets/main/imgs/apis/tutorials/domain-created.png"/> | ||||
| </p> | ||||
| 
 | ||||
| ### Creating a Nested Domain | ||||
| 
 | ||||
| You can also create a nested domain, or a domain within another domain. | ||||
| 
 | ||||
| <Tabs> | ||||
| <TabItem value="graphql" label="GraphQL" default> | ||||
| 
 | ||||
| ```json | ||||
| mutation createDomain { | ||||
|   createDomain(input: { name: "Verticals", description: "An optional description", parentDomain: "urn:li:domain:marketing" }) | ||||
| } | ||||
| ``` | ||||
| 
 | ||||
| </TabItem> | ||||
| <TabItem value="curl" label="Curl"> | ||||
| 
 | ||||
| ```shell | ||||
| curl --location --request POST 'http://localhost:8080/api/graphql' \ | ||||
| --header 'Authorization: Bearer <my-access-token>' \ | ||||
| --header 'Content-Type: application/json' \ | ||||
| --data-raw '{ "query": "mutation createDomain { createDomain(input: { name: \"Verticals\", description: \"Entities related to the verticals sub-domain.\", parentDomain: \"urn:li:domain:marketing\" }) }", "variables":{}}' | ||||
| ``` | ||||
| 
 | ||||
| </TabItem> | ||||
| <TabItem value="python" label="Python"> | ||||
| 
 | ||||
| ```python | ||||
| {{ inline /metadata-ingestion/examples/library/create_nested_domain.py show_path_as_comment }} | ||||
| ``` | ||||
| 
 | ||||
| </TabItem> | ||||
| </Tabs> | ||||
| 
 | ||||
| This query will create a new domain, "Verticals", under the "Marketing" domain. | ||||
| 
 | ||||
| 
 | ||||
| ## Read Domains | ||||
| 
 | ||||
|  | ||||
| @ -202,6 +202,16 @@ mutation createDomain { | ||||
| 
 | ||||
| This query will return an `urn` which you can use to fetch the Domain details.  | ||||
| 
 | ||||
| ## Create a Nested Domain | ||||
| 
 | ||||
| ```graphql | ||||
| mutation createDomain { | ||||
|   createDomain(input: { name: "Verticals", description: "An optional description", parentDomain: "urn:li:domain:marketing" }) | ||||
| } | ||||
| ``` | ||||
| 
 | ||||
| This query will create a new domain, "Verticals", under the "Marketing" domain. | ||||
| 
 | ||||
| **Fetching a Domain by Urn** | ||||
| 
 | ||||
| ```graphql | ||||
|  | ||||
							
								
								
									
										27
									
								
								metadata-ingestion/examples/library/create_nested_domain.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								metadata-ingestion/examples/library/create_nested_domain.py
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,27 @@ | ||||
| import logging | ||||
| 
 | ||||
| from datahub.emitter.mce_builder import make_domain_urn | ||||
| from datahub.emitter.mcp import MetadataChangeProposalWrapper | ||||
| from datahub.emitter.rest_emitter import DatahubRestEmitter | ||||
| from datahub.metadata.schema_classes import ChangeTypeClass, DomainPropertiesClass | ||||
| 
 | ||||
| log = logging.getLogger(__name__) | ||||
| logging.basicConfig(level=logging.INFO) | ||||
| 
 | ||||
| domain_urn = make_domain_urn("marketing") | ||||
| domain_properties_aspect = DomainPropertiesClass( | ||||
|     name="Verticals", | ||||
|     description="Entities related to the verticals sub-domain", | ||||
|     parentDomain="urn:li:domain:marketing", | ||||
| ) | ||||
| 
 | ||||
| event: MetadataChangeProposalWrapper = MetadataChangeProposalWrapper( | ||||
|     entityType="domain", | ||||
|     changeType=ChangeTypeClass.UPSERT, | ||||
|     entityUrn=domain_urn, | ||||
|     aspect=domain_properties_aspect, | ||||
| ) | ||||
| 
 | ||||
| rest_emitter = DatahubRestEmitter(gms_server="http://localhost:8080") | ||||
| rest_emitter.emit(event) | ||||
| log.info(f"Created domain {domain_urn}") | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Ellie O'Neil
						Ellie O'Neil