diff --git a/airflow/providers/google/cloud/example_dags/example_bigquery_operations.py b/airflow/providers/google/cloud/example_dags/example_bigquery_operations.py index e681cf24051fb..3584d9ee9edc5 100644 --- a/airflow/providers/google/cloud/example_dags/example_bigquery_operations.py +++ b/airflow/providers/google/cloud/example_dags/example_bigquery_operations.py @@ -152,8 +152,6 @@ "sourceUris": [DATA_SAMPLE_GCS_URL], }, }, - bucket=DATA_SAMPLE_GCS_BUCKET_NAME, - source_objects=[DATA_SAMPLE_GCS_OBJECT_NAME], ) # [END howto_operator_bigquery_create_external_table] diff --git a/airflow/providers/google/cloud/operators/bigquery.py b/airflow/providers/google/cloud/operators/bigquery.py index 30677c005504a..4e8dba744b088 100644 --- a/airflow/providers/google/cloud/operators/bigquery.py +++ b/airflow/providers/google/cloud/operators/bigquery.py @@ -1089,8 +1089,8 @@ class BigQueryCreateExternalTableOperator(BaseOperator): def __init__( self, *, - bucket: str, - source_objects: List, + bucket: Optional[str] = None, + source_objects: Optional[List] = None, destination_project_dataset_table: str = None, table_resource: Optional[Dict[str, Any]] = None, schema_fields: Optional[List] = None, @@ -1142,11 +1142,14 @@ def __init__( if not table_resource: warnings.warn( "Passing table parameters via keywords arguments will be deprecated. " - "Please use provide table definition using `table_resource` parameter." - "You can still use external `schema_object`. ", + "Please use provide table definition using `table_resource` parameter.", DeprecationWarning, stacklevel=2, ) + if not bucket: + raise ValueError("`bucket` is required when not using `table_resource`.") + if not source_objects: + raise ValueError("`source_objects` is required when not using `table_resource`.") if not source_format: source_format = 'CSV' if not compression: