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