potiuk commented on a change in pull request #7506: [AIRFLOW-6877] [WIP] check 
cross providers dependencies depends on [AIRFLOW-6663]
URL: https://github.com/apache/airflow/pull/7506#discussion_r383425146
 
 

 ##########
 File path: 
airflow/providers/google/marketing_platform/operators/campaign_manager.py
 ##########
 @@ -20,16 +20,23 @@
 """
 import tempfile
 import uuid
+import warnings
 from typing import Any, Dict, List, Optional
 
 from googleapiclient import http
 
 from airflow.exceptions import AirflowException
 from airflow.models import BaseOperator
-from airflow.providers.google.cloud.hooks.gcs import GCSHook
 from airflow.providers.google.marketing_platform.hooks.campaign_manager import 
GoogleCampaignManagerHook
 from airflow.utils.decorators import apply_defaults
 
+try:
+    from airflow.providers.google.cloud.hooks.gcs import GCSHook
+except ImportError:
+    warnings.warn("The package google-cloud must be installed to use the 
operator.",
 
 Review comment:
   > So actually.. now I want to change my "vote" to +1 for 2. And make sure 
that we define it like this "The first level is the provider that can be 
installed via a provider package which can contain sub-domains".
   
   My thought was that it would be much better to have 
"operators"/"hooks"/"sensors" always staring as the "first" level of the 
provider. It think it makes much more sense to have all "operators" of the 
provider in one directory rather than split. But I think we are talking about 
the same, just looking at it from a different direction.
   
   For me it should always be:
   
   providers."PROVIDER".operators , where "PROVIDER" might have "." as well.
   
   

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


With regards,
Apache Git Services

Reply via email to