in google-datacatalog-apache-atlas-connector/src/google/datacatalog_connectors/apache_atlas/scrape/apache_atlas_facade.py [0:0]
def search_entities_from_entity_type(self, entity_type_name):
logging.info('Searching for entities from entity_type: %s',
entity_type_name)
fetched_search_results = []
params = {'typeName': entity_type_name, 'offset': 0, 'limit': 100}
search_results = self.__apache_atlas.search_dsl(**params)
# Fetch lazy response
search_results = [
entity for s in search_results for entity in s.entities
]
fetched_search_results.extend(search_results)
# Keep fetching search_results to retrieve all the pages
while search_results:
params['offset'] = params['offset'] + params['limit']
logging.debug('offset: %s, limit: %s', params['offset'],
params['limit'])
search_results = self.__apache_atlas.search_dsl(**params)
# Fetch lazy response
search_results = [
entity for s in search_results for entity in s.entities
]
fetched_search_results.extend(search_results)
# Filter out deleted results and subtypes, only return the actual type.
fetched_search_results = [
result for result in fetched_search_results
if result._data['status'] != self.__DELETED_ENTITY_STATUS and
result._data['typeName'] == entity_type_name
]
logging.info('Returned: %s entities from Search',
len(fetched_search_results))
return fetched_search_results