in google-datacatalog-apache-atlas-connector/tools/cleanup_datacatalog.py [0:0]
def __delete_entries_and_groups(project_ids):
logging.info('\nStarting to clean up the catalog...')
query = 'system=apache_atlas'
scope = datacatalog.SearchCatalogRequest.Scope()
scope.include_project_ids.extend(project_ids)
request = datacatalog.SearchCatalogRequest()
request.scope = scope
request.query = query
request.page_size = 1000
search_results = __datacatalog.search_catalog(request)
datacatalog_entry_name_pattern = '(?P<entry_group_name>.+?)/entries/(.+?)'
entry_group_names = []
for result in search_results:
try:
__datacatalog.delete_entry(name=result.relative_resource_name)
logging.info('Entry deleted: %s', result.relative_resource_name)
entry_group_name = re.match(
pattern=datacatalog_entry_name_pattern,
string=result.relative_resource_name).group('entry_group_name')
entry_group_names.append(entry_group_name)
except exceptions.GoogleAPICallError as e:
logging.warning('Exception deleting entry: %s', str(e))
# Delete any pre-existing Entry Groups.
for entry_group_name in set(entry_group_names):
try:
__datacatalog.delete_entry_group(name=entry_group_name)
logging.info('--> Entry Group deleted: %s', entry_group_name)
except exceptions.GoogleAPICallError as e:
logging.warning('Exception deleting entry group: %s', str(e))