bugraoz93 commented on a change in pull request #19377:
URL: https://github.com/apache/airflow/pull/19377#discussion_r747624569



##########
File path: airflow/providers/facebook/ads/hooks/ads.py
##########
@@ -118,11 +122,32 @@ def bulk_facebook_report(
         :param sleep_time: Time to sleep when async call is happening
         :type sleep_time: int
 
-        :return: Facebook Ads API response, converted to Facebook Ads Row 
objects
-        :rtype: List[AdsInsights]
+        :return: Facebook Ads API response,
+            converted to Facebook Ads Row objects regarding given Account ID 
type
+        :rtype: List[AdsInsights] or Dict[str, List[AdsInsights]]
         """
         api = self._get_service()
-        ad_account = AdAccount(api.get_default_account_id(), api=api)
+        if self.is_backward:
+            return self._facebook_report(
+                account_id=self.facebook_ads_config["account_id"],
+                api=api,
+                params=params,
+                fields=fields,
+                sleep_time=sleep_time,
+            )

Review comment:
       Hi @uranusjr, In this context, backward means it is returning the same 
as the old version which is `List[AdsInsights]`. In the current version, 
Facebook Ads Hook only supports one `account_id` (string) at the time meaning 
if you have multiple `account_id` (array|list) for ads, you have to maintain 
multiple Facebook Ads Connection in the Airflow.  To support multiple 
`account_id` in the same Facebook Ads Connection, I corollated both 
`account_id` and the list of AdsInsights with returning `Dict[str, 
List[AdsInsights]]` but this was a breaking change since the return type was 
changed. After that, I updated the logic with this check if the `account_id` in 
the provided Facebook Connection as a string (single `account_id`), it returns 
the same format which is `List[AdsInsights]` and in the operator this situation 
also handled. If the multiple `account_id` is provided in the Facebook Ads 
Connection as an array, then the check provide to return `Dict[str, 
List[AdsInsights]]` which ev
 ery report correlated with `account_id` to export them regarding `account_id`. 
For that reason, I called that check `is_backward` which provides the check of 
the old connection format to work as it is.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to