def handle_redshift_statement_invocation_event()

in lambda/python/rs_integration_function/index.py [0:0]


def handle_redshift_statement_invocation_event(event):
    assert SQL_STATEMENT in event, f"Programming error should never handle invocation without SQL_STATEMENT {event}."
    logger.info(event)
    sql_statement = event[SQL_STATEMENT]
    action = event.get(ACTION)
    if action == EXECUTE_SINGLETON_STATEMENT or action == EXECUTE_STATEMENT or action is None:
        run_as_singleton = action == EXECUTE_SINGLETON_STATEMENT
        callback_object = CallbackSourceBuilder.get_callback_object_for_event(event)
        return handle_redshift_statement_invocation(sql_statement, callback_object, run_as_singleton)
    else:
        raise InvalidRequest(f"Unsupported {ACTION} to execute sql_statement {event}")