in dataplex-quickstart-labs/00-resources/scripts/python/business-glossary-import/bg_import/business_glossary_export_v2.py [0:0]
def main():
args = utils.get_export_v2_arguments()
utils.validate_export_v2_args(args)
global DATAPLEX_ENTRY_GROUP, PROJECT, LOCATION, GLOSSARY, PROJECT_NUMBER, DATACATALOG_BASE_URL
PROJECT = args.project
LOCATION = args.location
GLOSSARY = args.glossary
DATAPLEX_ENTRY_GROUP = f"projects/{PROJECT}/locations/{LOCATION}/entryGroups/@dataplex"
if args.testing:
PROJECT_NUMBER = "418487367933" # Staging project number
else:
PROJECT_NUMBER = "655216118709" # Prod project number
logger.info("Fetching entries in the Glossary...")
entries = utils.fetch_entries(args.project, args.location, args.group)
logger.info("Fetching entry links in the Glossary...")
relationships_data = utils.fetch_all_relationships(entries, args.project)
map_entry_id_to_entry_type = {get_entry_id(e["name"]): e.get("entryType", "") for e in entries}
parent_mapping = build_parent_mapping(entries, relationships_data)
if args.export_mode in ["glossary_only", "all"]:
export_glossary_entries_json(
entries,
args.glossary_json,
parent_mapping,
map_entry_id_to_entry_type,
)
logger.info(f"Glossary exported to {args.glossary_json}")
if args.export_mode in ["entry_links_only", "all"]:
export_entry_links_json(entries, relationships_data, args.entrylinks_json)
logger.info(f"Entry links exported to {args.entrylinks_json}")