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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]