ashb commented on a change in pull request #17100:
URL: https://github.com/apache/airflow/pull/17100#discussion_r702402002



##########
File path: airflow/providers/google/cloud/transfers/facebook_ads_to_gcs.py
##########
@@ -100,15 +99,16 @@ def __init__(
         self.facebook_conn_id = facebook_conn_id
         self.api_version = api_version
         self.fields = fields
-        self.params = params
         self.gzip = gzip
         self.impersonation_chain = impersonation_chain
 
     def execute(self, context: dict):
         service = FacebookAdsReportingHook(
             facebook_conn_id=self.facebook_conn_id, 
api_version=self.api_version
         )
-        rows = service.bulk_facebook_report(params=self.params, 
fields=self.fields)
+        rows = service.bulk_facebook_report(
+            params={k: v.resolve() for k, v in self.params.items()}, 
fields=self.fields
+        )

Review comment:
       @msumit my point is that by the time the operator gets executed it 
should just receive the actual fully resolved params - it shouldn't have to 
care about type validation or anything like that as it should already be 
handled before execution.
   
   Otherwise every single operator that wants to access params at execute time 
will need to know about ParamsDict and to call resolve. And this feels like an 
anti pattern too me




-- 
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: commits-unsubscr...@airflow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to