async def reset_iterators(self, index, last_data_epoch, end_epoch, session):
        """Reset Netskope iterator.

        Args:
            index (int): index of iterator
            last_epoch (int): last epoch time
            session (aiohttp.ClientSession): session object

        Returns:
            int: updated epoch time
        """
        __method_name = inspect.currentframe().f_code.co_name
        try:
            last_epoch_save_obj = StateManager(
                consts.CONNECTION_STRING,
                "{}_end_epoch_{}".format(index, str(int(time.time()))),
                self.share_name_for_duplication_check,
            )
            last_epoch_save_obj.post(str(last_data_epoch))
            updated_epoch = (3 * consts.DIFFERENCE_BETWEEN_ITERATORS_IN_SECONDS) + end_epoch
            temp_state_manager_obj = StateManager(
                consts.CONNECTION_STRING,
                self.start_epoch_filename.format(index),
                self.share_name,
            )
            url = self.netskope_api_async_obj.url_builder(index, updated_epoch)
            data = await self.netskope_api_async_obj.aio_http_handler(url, session)
            temp_state_manager_obj.post(str(updated_epoch))
            applogger.info(
                "{}(method={}) : {} ({}) : Reset epoch {} for iterator {}.".format(
                    consts.LOGS_STARTS_WITH,
                    __method_name,
                    consts.NETSKOPE_TO_AZURE_STORAGE,
                    self.nskp_data_type_for_logging,
                    updated_epoch,
                    index,
                )
            )
            file_name_for_saving = "{}_{}_{}_{}"
            epoch = int(data.get("timestamp_hwm"))
            if epoch > updated_epoch + 2 * consts.DIFFERENCE_BETWEEN_ITERATORS_IN_SECONDS:
                applogger.info(
                    "{}(method={}) : {} ({}) : The epoch timestamp is more than the next iterator,"
                    "allowed chunk for iterator-{}. Current-{}, End-{} .".format(
                        consts.LOGS_STARTS_WITH,
                        __method_name,
                        consts.NETSKOPE_TO_AZURE_STORAGE,
                        self.nskp_data_type_for_logging,
                        index,
                        epoch,
                        updated_epoch + consts.DIFFERENCE_BETWEEN_ITERATORS_IN_SECONDS,
                    )
                )
                file_name_for_saving = "{}_{}_{}_{}_empty_file"
                data = {"ok": 1, "result": [], "wait_time": data.get("wait_time"), "timestamp_hwm": updated_epoch}
            state_manager_obj_to_post_data = StateManager(
                consts.CONNECTION_STRING,
                file_name_for_saving.format(
                    index,
                    str(self.starttime),
                    str(updated_epoch),
                    str(int(time.time())),
                ),
                self.share_name_for_duplication_check,
            )
            state_manager_obj_to_post_data.post(json.dumps(data))
            start_epoch_state_manager_obj_for_duplicate_handle = StateManager(
                consts.CONNECTION_STRING,
                "{}_start_epoch_{}".format(index, str(int(time.time()))),
                self.share_name_for_duplication_check,
            )
            start_epoch_state_manager_obj_for_duplicate_handle.post(str(updated_epoch))
            await self.honour_wait_time(data)
            return updated_epoch
        except NetskopeException:
            applogger.error(
                "{}(method={}) : {} ({}) : Error while reseting iterators.".format(
                    consts.LOGS_STARTS_WITH,
                    __method_name,
                    consts.NETSKOPE_TO_AZURE_STORAGE,
                    self.nskp_data_type_for_logging,
                )
            )
            raise NetskopeException()
        except Exception as error:
            applogger.error(
                "{}(method={}) : {} ({}) : Error while reseting iterators, Error-{}.".format(
                    consts.LOGS_STARTS_WITH,
                    __method_name,
                    consts.NETSKOPE_TO_AZURE_STORAGE,
                    self.nskp_data_type_for_logging,
                    error,
                )
            )
            raise NetskopeException()
Reset Netskope iterator.

        Args:
            index (int): index of iterator
            last_epoch (int): last epoch time
            session (aiohttp.ClientSession): session object

        Returns:
            int: updated epoch time
        
Solutions/Netskopev2/Data Connectors/NetskopeDataConnector/NetskopeToAzureStorage/netskope_to_azure_storage.py