async def post_data_to_threat_intelligence(self, dataminr_data):
        """Create the asynchronous tasks for indicators ingestion to Microsoft Sentinel Threat Intelligence.

        Args:
            indicators_data (dict): Indicators Data

        Returns:
            dict: Dictionary containing the success_count and failure_count
        """
        __method_name = inspect.currentframe().f_code.co_name
        try:
            failed_indicators = []
            microsoft_sentinel_obj = MicrosoftSentinel()
            tasks = []
            conn = aiohttp.TCPConnector(limit_per_host=30)
            failed_mapping_count = 0
            async with aiohttp.ClientSession(connector=conn) as session:
                for data in dataminr_data:
                    try:
                        mapped_data = map_indicator_fields(data)
                    except DataminrPulseException as error:
                        applogger.warning(
                            "{}(method={}) : {} : Exception in mapping. Skipping this Indicator, Index-{}, Error:{}.".format(
                                consts.LOGS_STARTS_WITH,
                                __method_name,
                                consts.DATAMINR_PULSE_THREAT_INTELLIGENCE,
                                data.get("index_s", ""),
                                error
                            )
                        )
                        failed_mapping_count += 1
                        continue
                    for indicator_data in mapped_data:
                        tasks.append(
                            asyncio.create_task(
                                microsoft_sentinel_obj.create_indicator(indicator_data, session)
                            )
                        )
                results = await asyncio.gather(*tasks, return_exceptions=True)
            success_count = 0
            failed_count = 0
            for i in results:
                if i is None:
                    success_count += 1
                else:
                    failed_count += 1
                    failed_indicators.append(i)
            applogger.info(
                "{}(method={}) : {} : Total_Invocations: {}, Successful Indicators Posting: {},\
                    Failed Indicators Posting: {}, Failed Indicators due to mapping: {}.".format(
                    consts.LOGS_STARTS_WITH,
                    __method_name,
                    consts.DATAMINR_PULSE_THREAT_INTELLIGENCE,
                    (len(results)+failed_mapping_count),
                    success_count,
                    failed_count,
                    failed_mapping_count,
                )
            )
            return {
                "success_count": success_count,
                "failure_count": failed_count,
                "failed_mapping_count": failed_mapping_count,
                "failed_indicators": failed_indicators,
            }
        except DataminrPulseException:
            applogger.error(
                "{}(method={}) : {} : Indicator Creation Failed.".format(
                    consts.LOGS_STARTS_WITH,
                    __method_name,
                    consts.DATAMINR_PULSE_THREAT_INTELLIGENCE,
                )
            )
            raise DataminrPulseException()
        except Exception as error:
            applogger.error(
                "{}(method={}) : {} : Indicator Creation Failed, Error: {}.".format(
                    consts.LOGS_STARTS_WITH,
                    __method_name,
                    consts.DATAMINR_PULSE_THREAT_INTELLIGENCE,
                    error,
                )
            )
            raise DataminrPulseException()
Create the asynchronous tasks for indicators ingestion to Microsoft Sentinel Threat Intelligence.

        Args:
            indicators_data (dict): Indicators Data

        Returns:
            dict: Dictionary containing the success_count and failure_count
        
Solutions/Dataminr Pulse/Data Connectors/DataminrPulseAlerts/DataminrPulseThreatIntelligence/dataminr_pulse_threat_intelligence.py