def post_failed_indicators(self, indicators_data):
        """Post indicators to Microsoft Sentinel Threat Intelligence.

        Args:
            indicators_data (dict): Failed Indicators Data

        Returns:
            dict: Dictionary containing the success_count and failure_count
        """
        __method_name = inspect.currentframe().f_code.co_name
        try:
            success_count = 0
            failed_count = 0
            for indicator in indicators_data:
                failed_indicator = indicator.get("indicator", "")
                report_link = indicator.get("report_link", "")
                indicator_id = indicator.get("id", "")
                indicator_response = self.microsoft_obj.create_indicator(failed_indicator, indicator_id)
                if indicator_response is None:
                    failed_indicator['report_link'] = report_link
                    self.microsoft_obj.post_data(
                        body=json.dumps([failed_indicator]),
                        log_type=FAILED_INDICATORS_TABLE_NAME,
                    )
                    applogger.info(
                        "{}(method={}) : {} : Posted failed indicator to log analytics, indicatorId- {}".format(
                            LOGS_STARTS_WITH, __method_name, RETRY_FAILED_INDICATORS, indicator_id
                        )
                    )
                    failed_count += 1
                else:
                    indicator_externalId = indicator_response.get("properties", {}).get("externalId", "")
                    applogger.debug(
                        "{}(method={}) : {}: indicator created successfully, indicatorId- {}.".format(
                            LOGS_STARTS_WITH, __method_name, RETRY_FAILED_INDICATORS, indicator_id
                        )
                    )
                    updated_at = failed_indicator.get("properties", {}).get("externalLastUpdatedTimeUtc", "")
                    source_cofence = failed_indicator.get("properties", {}).get("source", "")
                    report_data = {
                        "indicator_id": indicator_id,
                        "external_id": "{}-{}".format(indicator_externalId, source_cofence),
                        "report_link": report_link,
                        "updated_at": updated_at,
                    }
                    self.microsoft_obj.post_data(json.dumps(report_data), self.log_type)
                    success_count += 1
            applogger.info(
                "{}(method={}) : {} : Total_Invocations: {}, Successful Indicators Posting: {},\
                    Failed Indicators Posting: {}.".format(
                    LOGS_STARTS_WITH,
                    __method_name,
                    RETRY_FAILED_INDICATORS,
                    len(indicators_data),
                    success_count,
                    failed_count,
                )
            )
            return {"success_count": success_count, "failure_count": failed_count}
        except CofenseException:
            applogger.error(
                "{}(method={}) : {} : Indicator Creation Failed while retrying.".format(
                    LOGS_STARTS_WITH, __method_name, RETRY_FAILED_INDICATORS
                )
            )
            raise CofenseException()
        except Exception as error:
            applogger.error(
                "{}(method={}) : {} : Indicator Creation Failed while retrying, Error : {}.".format(
                    LOGS_STARTS_WITH,
                    __method_name,
                    RETRY_FAILED_INDICATORS,
                    error,
                )
            )
            raise CofenseException()
Post indicators to Microsoft Sentinel Threat Intelligence.

        Args:
            indicators_data (dict): Failed Indicators Data

        Returns:
            dict: Dictionary containing the success_count and failure_count
        
Solutions/CofenseTriage/Data Connectors/CofenseTriageDataConnector/RetryFailedIndicators/retry_failed_indicators.py