in src/package/dataplexutils/metadata/wizard.py [0:0]
def _get_table_schema(self, table_fqn):
"""Retrieves the schema of a BigQuery table.
Args:
table_fqn (str): The fully qualified name of the table
(e.g., 'project.dataset.table')
Returns:
tuple: A tuple containing:
- list: Flattened schema fields as dicts with 'name' and 'type'
- list: Original BigQuery SchemaField objects
Raises:
NotFound: If the specified table does not exist.
Exception: If there is an error retrieving the schema.
"""
try:
table = self._cloud_clients[constants["CLIENTS"]["BIGQUERY"]].get_table(
table_fqn
)
schema_fields = table.schema
flattened_schema = [
{"name": field.name, "type": field.field_type}
for field in schema_fields
]
return flattened_schema, table.schema
except NotFound:
logger.error(f"Table {table_fqn} is not found.")
raise NotFound(message=f"Table {table_fqn} is not found.")