def topic_handler()

in source/lambda/wf_publish_topic_model/lambda_function.py [0:0]


def topic_handler(event, context):
    source_prefix_list = os.environ["SOURCE_PREFIX"].lower().split(",")
    file_name = "doc-topics.csv"

    for source_prefix in source_prefix_list:
        file_available = False
        try:
            file_available = is_file_available(event, source_prefix, file_name)
        except IngestionSourcePrefixMissingError as prefix_error:
            logger.error(f"Received prefix missing error - {prefix_error} for prefix: {source_prefix}")
            continue
        except botocore.exceptions.ClientError as error:
            logger.error(f"Received client error when downloading file: {error}")
            continue

        if file_available:
            logger.debug(f"File is available for source prefix {source_prefix}")
            # get job ID and timestamp details
            job_id = event[source_prefix]["JobId"]
            timestamp = event[source_prefix]["SubmitTime"]
            logger.debug(f"Retrieving topic dict for {TMP_DIR+file_name}")
            pubish_topics(source_prefix, job_id, timestamp, doc_topics_file_name=TMP_DIR + file_name)
            logger.debug("Complete topic publishing")