in genai-for-marketing/installation_scripts/genai_marketing_env_setup.py [0:0]
def get_tags_from_table(table_id):
# Lookup Data Catalog's Entry referring to the table.
resource_name = (
f"//bigquery.googleapis.com/projects/{PROJECT_ID}/datasets/{DATASET_ID}/tables/{table_id}"
)
table_entry = datacatalog_client.lookup_entry(
request={"linked_resource": resource_name}
)
# Make the request
page_result = datacatalog_client.list_tags(parent=table_entry.name)
# print(page_result)
tags_str = ''
# Handle the response
for response in page_result:
if response.template == TAG_TEMPLATE_PATH:
desc = response.fields["description"].string_value
data_type = response.fields["data_type"].string_value
pk = response.fields["is_primary_key"].bool_value
fk = response.fields["is_foreign_key"].bool_value
tags_str += ("Table: {} "
"- Column: {} "
"- Data Type: {} "
"- Primary Key: {} "
"- Foreing Key: {} "
"- Description: {}\n".format(
table_id, response.column, data_type, pk, fk, desc))
return tags_str