def get_tags_from_table()

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