from metadata.generated.schema.entity.services.connections.metadata.openMetadataConnection import ( AuthProvider, OpenMetadataConnection,)from metadata.generated.schema.security.client.openMetadataJWTClientConfig import ( OpenMetadataJWTClientConfig,)from metadata.ingestion.ometa.ometa_api import OpenMetadatafrom metadata.generated.schema.entity.data.topic import Topicmetadata = OpenMetadata( OpenMetadataConnection( hostPort="https://your-company.open-metadata.org/api", authProvider=AuthProvider.openmetadata, securityConfig=OpenMetadataJWTClientConfig(jwtToken="your-jwt-token"), ))# List first pagetopics = metadata.list_entities(entity=Topic, limit=50)for topic in topics.entities: print(f"{topic.fullyQualifiedName.root}")# List all with auto-paginationfor topic in metadata.list_all_entities(entity=Topic): print(f"{topic.fullyQualifiedName.root}")# Filter by servicetopics = metadata.list_entities( entity=Topic, fields=["owners", "tags", "domains"], params={"service": "sample_kafka"}, limit=50)for topic in topics.entities: print(f"{topic.fullyQualifiedName.root}") if topic.owners: print(f" Owners: {[o.name for o in topic.owners.root]}") if topic.tags: print(f" Tags: {[tag.tagFQN.root for tag in topic.tags]}")
import org.openmetadata.schema.entity.data.Topic;import org.openmetadata.sdk.models.ListParams;import org.openmetadata.sdk.models.ListResponse;// client is an initialized OpenMetadataClient.// List first pageListResponse<Topic> firstPage = client.topics().list(new ListParams().setLimit(50));for (Topic item : firstPage.getData()) { System.out.println(item.getFullyQualifiedName());}// Filter by service with fieldsListResponse<Topic> filtered = client.topics().list( new ListParams() .setService("sample_kafka") .setFields("owners,tags,domains") .setLimit(50));for (Topic item : filtered.getData()) { System.out.println(item.getFullyQualifiedName());}
# List allcurl "{base_url}/api/v1/topics?limit=50" \ -H "Authorization: Bearer {access_token}"# Filter by servicecurl "{base_url}/api/v1/topics?service=sample_kafka&limit=50" \ -H "Authorization: Bearer {access_token}"# With fieldscurl "{base_url}/api/v1/topics?service=sample_kafka&fields=owners,tags,domains&limit=50" \ -H "Authorization: Bearer {access_token}"
List all topics with optional filtering and pagination
GET
/
v1
/
topics
GET /v1/topics
from metadata.generated.schema.entity.services.connections.metadata.openMetadataConnection import ( AuthProvider, OpenMetadataConnection,)from metadata.generated.schema.security.client.openMetadataJWTClientConfig import ( OpenMetadataJWTClientConfig,)from metadata.ingestion.ometa.ometa_api import OpenMetadatafrom metadata.generated.schema.entity.data.topic import Topicmetadata = OpenMetadata( OpenMetadataConnection( hostPort="https://your-company.open-metadata.org/api", authProvider=AuthProvider.openmetadata, securityConfig=OpenMetadataJWTClientConfig(jwtToken="your-jwt-token"), ))# List first pagetopics = metadata.list_entities(entity=Topic, limit=50)for topic in topics.entities: print(f"{topic.fullyQualifiedName.root}")# List all with auto-paginationfor topic in metadata.list_all_entities(entity=Topic): print(f"{topic.fullyQualifiedName.root}")# Filter by servicetopics = metadata.list_entities( entity=Topic, fields=["owners", "tags", "domains"], params={"service": "sample_kafka"}, limit=50)for topic in topics.entities: print(f"{topic.fullyQualifiedName.root}") if topic.owners: print(f" Owners: {[o.name for o in topic.owners.root]}") if topic.tags: print(f" Tags: {[tag.tagFQN.root for tag in topic.tags]}")
import org.openmetadata.schema.entity.data.Topic;import org.openmetadata.sdk.models.ListParams;import org.openmetadata.sdk.models.ListResponse;// client is an initialized OpenMetadataClient.// List first pageListResponse<Topic> firstPage = client.topics().list(new ListParams().setLimit(50));for (Topic item : firstPage.getData()) { System.out.println(item.getFullyQualifiedName());}// Filter by service with fieldsListResponse<Topic> filtered = client.topics().list( new ListParams() .setService("sample_kafka") .setFields("owners,tags,domains") .setLimit(50));for (Topic item : filtered.getData()) { System.out.println(item.getFullyQualifiedName());}
# List allcurl "{base_url}/api/v1/topics?limit=50" \ -H "Authorization: Bearer {access_token}"# Filter by servicecurl "{base_url}/api/v1/topics?service=sample_kafka&limit=50" \ -H "Authorization: Bearer {access_token}"# With fieldscurl "{base_url}/api/v1/topics?service=sample_kafka&fields=owners,tags,domains&limit=50" \ -H "Authorization: Bearer {access_token}"
from metadata.generated.schema.entity.services.connections.metadata.openMetadataConnection import ( AuthProvider, OpenMetadataConnection,)from metadata.generated.schema.security.client.openMetadataJWTClientConfig import ( OpenMetadataJWTClientConfig,)from metadata.ingestion.ometa.ometa_api import OpenMetadatafrom metadata.generated.schema.entity.data.topic import Topicmetadata = OpenMetadata( OpenMetadataConnection( hostPort="https://your-company.open-metadata.org/api", authProvider=AuthProvider.openmetadata, securityConfig=OpenMetadataJWTClientConfig(jwtToken="your-jwt-token"), ))# List first pagetopics = metadata.list_entities(entity=Topic, limit=50)for topic in topics.entities: print(f"{topic.fullyQualifiedName.root}")# List all with auto-paginationfor topic in metadata.list_all_entities(entity=Topic): print(f"{topic.fullyQualifiedName.root}")# Filter by servicetopics = metadata.list_entities( entity=Topic, fields=["owners", "tags", "domains"], params={"service": "sample_kafka"}, limit=50)for topic in topics.entities: print(f"{topic.fullyQualifiedName.root}") if topic.owners: print(f" Owners: {[o.name for o in topic.owners.root]}") if topic.tags: print(f" Tags: {[tag.tagFQN.root for tag in topic.tags]}")
import org.openmetadata.schema.entity.data.Topic;import org.openmetadata.sdk.models.ListParams;import org.openmetadata.sdk.models.ListResponse;// client is an initialized OpenMetadataClient.// List first pageListResponse<Topic> firstPage = client.topics().list(new ListParams().setLimit(50));for (Topic item : firstPage.getData()) { System.out.println(item.getFullyQualifiedName());}// Filter by service with fieldsListResponse<Topic> filtered = client.topics().list( new ListParams() .setService("sample_kafka") .setFields("owners,tags,domains") .setLimit(50));for (Topic item : filtered.getData()) { System.out.println(item.getFullyQualifiedName());}
# List allcurl "{base_url}/api/v1/topics?limit=50" \ -H "Authorization: Bearer {access_token}"# Filter by servicecurl "{base_url}/api/v1/topics?service=sample_kafka&limit=50" \ -H "Authorization: Bearer {access_token}"# With fieldscurl "{base_url}/api/v1/topics?service=sample_kafka&fields=owners,tags,domains&limit=50" \ -H "Authorization: Bearer {access_token}"