apache-airflow-providers-google 14.1.0__py3-none-any.whl → 15.0.0rc1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- airflow/providers/google/__init__.py +1 -1
- airflow/providers/google/ads/hooks/ads.py +7 -33
- airflow/providers/google/ads/transfers/ads_to_gcs.py +1 -17
- airflow/providers/google/cloud/hooks/bigquery.py +6 -11
- airflow/providers/google/cloud/hooks/cloud_batch.py +1 -2
- airflow/providers/google/cloud/hooks/cloud_build.py +1 -54
- airflow/providers/google/cloud/hooks/compute.py +4 -3
- airflow/providers/google/cloud/hooks/dataflow.py +2 -139
- airflow/providers/google/cloud/hooks/dataform.py +6 -12
- airflow/providers/google/cloud/hooks/datafusion.py +1 -2
- airflow/providers/google/cloud/hooks/dataplex.py +1 -1
- airflow/providers/google/cloud/hooks/gcs.py +13 -5
- airflow/providers/google/cloud/hooks/life_sciences.py +1 -1
- airflow/providers/google/cloud/hooks/translate.py +1 -1
- airflow/providers/google/cloud/hooks/vertex_ai/auto_ml.py +3 -2
- airflow/providers/google/cloud/hooks/vertex_ai/batch_prediction_job.py +1 -1
- airflow/providers/google/cloud/hooks/vertex_ai/custom_job.py +2 -272
- airflow/providers/google/cloud/hooks/vertex_ai/endpoint_service.py +2 -1
- airflow/providers/google/cloud/hooks/vertex_ai/hyperparameter_tuning_job.py +1 -1
- airflow/providers/google/cloud/hooks/vertex_ai/model_service.py +2 -1
- airflow/providers/google/cloud/links/cloud_storage_transfer.py +1 -3
- airflow/providers/google/cloud/links/dataproc.py +0 -1
- airflow/providers/google/cloud/log/gcs_task_handler.py +147 -115
- airflow/providers/google/cloud/openlineage/facets.py +32 -32
- airflow/providers/google/cloud/openlineage/mixins.py +2 -2
- airflow/providers/google/cloud/operators/automl.py +1 -1
- airflow/providers/google/cloud/operators/cloud_storage_transfer_service.py +0 -3
- airflow/providers/google/cloud/operators/datafusion.py +1 -22
- airflow/providers/google/cloud/operators/dataproc.py +1 -143
- airflow/providers/google/cloud/operators/dataproc_metastore.py +0 -1
- airflow/providers/google/cloud/operators/mlengine.py +3 -1406
- airflow/providers/google/cloud/operators/spanner.py +1 -2
- airflow/providers/google/cloud/operators/translate.py +2 -2
- airflow/providers/google/cloud/operators/vertex_ai/auto_ml.py +0 -12
- airflow/providers/google/cloud/operators/vertex_ai/custom_job.py +1 -22
- airflow/providers/google/cloud/sensors/cloud_storage_transfer_service.py +4 -3
- airflow/providers/google/cloud/sensors/dataproc_metastore.py +1 -1
- airflow/providers/google/cloud/transfers/gcs_to_bigquery.py +1 -2
- airflow/providers/google/cloud/transfers/sftp_to_gcs.py +23 -10
- airflow/providers/google/cloud/triggers/cloud_storage_transfer_service.py +2 -2
- airflow/providers/google/common/auth_backend/google_openid.py +1 -1
- airflow/providers/google/common/hooks/base_google.py +7 -28
- airflow/providers/google/get_provider_info.py +3 -1
- airflow/providers/google/marketing_platform/sensors/display_video.py +1 -1
- airflow/providers/google/suite/hooks/drive.py +2 -2
- {apache_airflow_providers_google-14.1.0.dist-info → apache_airflow_providers_google-15.0.0rc1.dist-info}/METADATA +11 -9
- {apache_airflow_providers_google-14.1.0.dist-info → apache_airflow_providers_google-15.0.0rc1.dist-info}/RECORD +49 -50
- airflow/providers/google/cloud/utils/mlengine_operator_utils.py +0 -273
- {apache_airflow_providers_google-14.1.0.dist-info → apache_airflow_providers_google-15.0.0rc1.dist-info}/WHEEL +0 -0
- {apache_airflow_providers_google-14.1.0.dist-info → apache_airflow_providers_google-15.0.0rc1.dist-info}/entry_points.txt +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
airflow/providers/google/LICENSE,sha256=gXPVwptPlW1TJ4HSuG5OMPg-a3h43OGMkZRR1rpwfJA,10850
|
2
|
-
airflow/providers/google/__init__.py,sha256=
|
3
|
-
airflow/providers/google/get_provider_info.py,sha256=
|
2
|
+
airflow/providers/google/__init__.py,sha256=lNhJDxFevcCKp8wCicVal6M_zIXKHxvnCi-Tx3DrDuM,1494
|
3
|
+
airflow/providers/google/get_provider_info.py,sha256=TjHgPknRlZVL2NuPf-PB_A5AZgmvETIaA2LPhw7xuX0,86526
|
4
4
|
airflow/providers/google/go_module_utils.py,sha256=XVM-IGME6CPgJA8fgDgkusFc4fz3lEghZaZ4elBkv7s,1780
|
5
5
|
airflow/providers/google/version_compat.py,sha256=aHg90_DtgoSnQvILFICexMyNlHlALBdaeWqkX3dFDug,1605
|
6
6
|
airflow/providers/google/3rd-party-licenses/LICENSES.txt,sha256=vplRFSgyGOzReZVwChEgsa9r2t6hLpZ1hjFR2iN3W-k,1535
|
@@ -10,11 +10,11 @@ airflow/providers/google/_vendor/json_merge_patch.py,sha256=D_q_klPaf2ljS-vNU0em
|
|
10
10
|
airflow/providers/google/ads/.gitignore,sha256=z_qaKzblF2LuVvP-06iDord9JBeyzIlNeJ4bx3LbtGc,167
|
11
11
|
airflow/providers/google/ads/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
12
12
|
airflow/providers/google/ads/hooks/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
13
|
-
airflow/providers/google/ads/hooks/ads.py,sha256=
|
13
|
+
airflow/providers/google/ads/hooks/ads.py,sha256=YzegTpmRCcJSTv9HwA-QZQMHq4Tl3K0Yk6z054CqdhE,13148
|
14
14
|
airflow/providers/google/ads/operators/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
15
15
|
airflow/providers/google/ads/operators/ads.py,sha256=y8CbnXXMJYMa6tCWY-AQHAbCrtbDrTU1ayHybhtwQqQ,4771
|
16
16
|
airflow/providers/google/ads/transfers/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
17
|
-
airflow/providers/google/ads/transfers/ads_to_gcs.py,sha256=
|
17
|
+
airflow/providers/google/ads/transfers/ads_to_gcs.py,sha256=4WufpncK1LLu33mGlGBtulzO7aiwGn2LAousMhAP-3s,5083
|
18
18
|
airflow/providers/google/assets/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
19
19
|
airflow/providers/google/assets/bigquery.py,sha256=Neq_biKPiyTfZGMoFUGoHJqvqGJzqEAN6MVD0uJj8UI,2119
|
20
20
|
airflow/providers/google/assets/gcs.py,sha256=da-u3_4o0p97BTmdqJKbkBU5Ji4vWUkxSO9yTT4RYxo,2250
|
@@ -26,34 +26,34 @@ airflow/providers/google/cloud/fs/gcs.py,sha256=fJBGhHEE46_U5Rmbs1W0uenvGhECv13C
|
|
26
26
|
airflow/providers/google/cloud/hooks/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
27
27
|
airflow/providers/google/cloud/hooks/alloy_db.py,sha256=HYsTzxgzmvP_pKuXSRIbdBgg8gXAqzZfb6MkMBtav7g,52567
|
28
28
|
airflow/providers/google/cloud/hooks/automl.py,sha256=kBmoN1eFnGTkt7Vs_FUkKgc_ecl1lOvEeEzFZuCpULU,28832
|
29
|
-
airflow/providers/google/cloud/hooks/bigquery.py,sha256=
|
29
|
+
airflow/providers/google/cloud/hooks/bigquery.py,sha256=pEXUeYvwi5tvTiQydhVzIfpC_UqBmVBIKWNLzB8DkzM,99500
|
30
30
|
airflow/providers/google/cloud/hooks/bigquery_dts.py,sha256=9M5dSjxHZZG9zcLyxZqBu6Kj5jK2rWRDPIjn4s8o-A8,14725
|
31
31
|
airflow/providers/google/cloud/hooks/bigtable.py,sha256=qisd7xBpx_rV0k_KuYN2nIUVDAbdnzCtYDdIFt5OAao,12342
|
32
|
-
airflow/providers/google/cloud/hooks/cloud_batch.py,sha256=
|
33
|
-
airflow/providers/google/cloud/hooks/cloud_build.py,sha256=
|
32
|
+
airflow/providers/google/cloud/hooks/cloud_batch.py,sha256=zbRkCVYQtxVEugLV3BGeY_bRVlQDLbwnnCWoeAqsnHQ,8317
|
33
|
+
airflow/providers/google/cloud/hooks/cloud_build.py,sha256=4iaJUn7zakuENFQ8B7KCqtuDQWwHUBcDXCcZUl959NQ,25394
|
34
34
|
airflow/providers/google/cloud/hooks/cloud_composer.py,sha256=RHfczxo7zfFOnkbVt4DgNoTgsI2iQ7bWtxXwDTqYFJ0,27794
|
35
35
|
airflow/providers/google/cloud/hooks/cloud_memorystore.py,sha256=Wkt1hyftaZ1FTapK_HCjwIIhPyNyXB-OyTlngDPYrSU,40244
|
36
36
|
airflow/providers/google/cloud/hooks/cloud_run.py,sha256=J5zplqjqT_haJSappkwWdYKXwt5Dn_ULaFOwGUEcymA,12588
|
37
37
|
airflow/providers/google/cloud/hooks/cloud_sql.py,sha256=6FrmiooLW4-Gv6aeNUUbNxR1tHW-78IR-5mzTEz9jI0,55183
|
38
38
|
airflow/providers/google/cloud/hooks/cloud_storage_transfer_service.py,sha256=ns0ur-e3BjEmgQH1-asEbw4DxWOFaKj_q9w7fKYfw0U,27252
|
39
|
-
airflow/providers/google/cloud/hooks/compute.py,sha256=
|
39
|
+
airflow/providers/google/cloud/hooks/compute.py,sha256=KkQS7EbepDwiAJsDCS0-oF_s7KSZe7NJCmjj5gfwrvs,40483
|
40
40
|
airflow/providers/google/cloud/hooks/compute_ssh.py,sha256=utOL1-bRZAwuBkufHE5iNkHnsBIPFhY84WhxgDZRVAE,15400
|
41
41
|
airflow/providers/google/cloud/hooks/datacatalog.py,sha256=R_Ut4Cav19dRKCr_HEoRHrNEjHcdefKU9mUuLVKb6QU,54054
|
42
|
-
airflow/providers/google/cloud/hooks/dataflow.py,sha256=
|
43
|
-
airflow/providers/google/cloud/hooks/dataform.py,sha256=
|
44
|
-
airflow/providers/google/cloud/hooks/datafusion.py,sha256=
|
45
|
-
airflow/providers/google/cloud/hooks/dataplex.py,sha256=
|
42
|
+
airflow/providers/google/cloud/hooks/dataflow.py,sha256=1FLbKF0e6v5P0I7sD__g-0RDAZtqF5wNXQKjzstOPDY,65165
|
43
|
+
airflow/providers/google/cloud/hooks/dataform.py,sha256=Hhtv23XqHanBGiJWGXqA1XdhhlzqEUsFodUFLkoC89I,27370
|
44
|
+
airflow/providers/google/cloud/hooks/datafusion.py,sha256=X7UdobDO2j5aEKE8u80AMMJmFUKiH78YRqGMxlUA7cY,25578
|
45
|
+
airflow/providers/google/cloud/hooks/dataplex.py,sha256=oQSXRdZy0gk-UtWaShekBIcfLEYVZACXavE-dBLmdMc,88636
|
46
46
|
airflow/providers/google/cloud/hooks/dataprep.py,sha256=_ipvucm5m8ygbHm29a05TSoaXRg7UDqTl1jit5ectqg,12205
|
47
47
|
airflow/providers/google/cloud/hooks/dataproc.py,sha256=TDY4IVoQtnbcoNXMYw1DXNT-5t8UPQ5uDLc-Hy-ygj0,87131
|
48
48
|
airflow/providers/google/cloud/hooks/dataproc_metastore.py,sha256=BBpEiDCX1PZaSVo03v7uJKx2aHmFukn136oOlyU0Kp0,32658
|
49
49
|
airflow/providers/google/cloud/hooks/datastore.py,sha256=C1pPcQJZDwbuMqmz2QPEXWuzHSHW2VxlDemvoPR9LcE,11920
|
50
50
|
airflow/providers/google/cloud/hooks/dlp.py,sha256=-zFziEsrwcWfgse4PJX0Zjqgabc9S951kSs0aXY2l5Q,67348
|
51
51
|
airflow/providers/google/cloud/hooks/functions.py,sha256=eT2KYhIBpmwBVqFzxG1zYEN65RifJSWOiDqFixDivs0,9034
|
52
|
-
airflow/providers/google/cloud/hooks/gcs.py,sha256=
|
52
|
+
airflow/providers/google/cloud/hooks/gcs.py,sha256=cggZscTUsNrkk12H5oM7F9haATgjrLCzIugSs2roMlY,62407
|
53
53
|
airflow/providers/google/cloud/hooks/gdm.py,sha256=OIQYBwtsKugZ9Jb_KXHmnz6bQR8_-ccOOIk8u97To2E,3519
|
54
54
|
airflow/providers/google/cloud/hooks/kms.py,sha256=OdPxIzycIQVIw6qLIoVlArNC3QHyrOa878ZorqCG7HY,6336
|
55
55
|
airflow/providers/google/cloud/hooks/kubernetes_engine.py,sha256=SoQcSkopalzfaZuFvhWdQ7BRC4ZosNBWLUt_0dKuCOs,20334
|
56
|
-
airflow/providers/google/cloud/hooks/life_sciences.py,sha256
|
56
|
+
airflow/providers/google/cloud/hooks/life_sciences.py,sha256=-N6AQAruPDpFOiYMvJMRadPcS8uNP5j-ghJuWcTt8zs,6418
|
57
57
|
airflow/providers/google/cloud/hooks/looker.py,sha256=17i91XPcXos6NixpdXRj3asP14QlFs_M7ZE5H84542E,8959
|
58
58
|
airflow/providers/google/cloud/hooks/managed_kafka.py,sha256=gMmvnyZ_G1YA0Fg8bE1ZRJ8ELF745Bea1Ei2xkEaHeQ,30688
|
59
59
|
airflow/providers/google/cloud/hooks/mlengine.py,sha256=83_-jh46ubSvgwWbQrAcLSxeKM9nZWSNgMSK-a3wSBI,24679
|
@@ -66,20 +66,20 @@ airflow/providers/google/cloud/hooks/speech_to_text.py,sha256=isBrH_bYeupZQcmSYd
|
|
66
66
|
airflow/providers/google/cloud/hooks/stackdriver.py,sha256=D-0GuFpmKfmR24vEIprUK7z4HCBWeaK3GPS1T2J4Y_A,25645
|
67
67
|
airflow/providers/google/cloud/hooks/tasks.py,sha256=zNSnrTAnYEaKCL-A61h48eLVEMfCWZt6R41YjXBTSEs,26340
|
68
68
|
airflow/providers/google/cloud/hooks/text_to_speech.py,sha256=JHBPbAsi1duKidt68Ox4pcK5IfhpluFiLchsv5MxcIY,5239
|
69
|
-
airflow/providers/google/cloud/hooks/translate.py,sha256=
|
69
|
+
airflow/providers/google/cloud/hooks/translate.py,sha256=QNgPHiboDdSRPJPm1jFSJrVrVWBsmyli6OVls4GJdGU,51539
|
70
70
|
airflow/providers/google/cloud/hooks/video_intelligence.py,sha256=8Z8NZK5PHgeDjTZc2rBFGyGkXR01If6jRQPMZVCGxR8,5571
|
71
71
|
airflow/providers/google/cloud/hooks/vision.py,sha256=lhphhaJi5IfXdhKR58vhj-ZG4clhIqixRJgBNhvxnkA,25931
|
72
72
|
airflow/providers/google/cloud/hooks/workflows.py,sha256=KT3TAJG7qkjUFh-SmNs35hc_Yy2jBV3c1co2rEf9MZI,16188
|
73
73
|
airflow/providers/google/cloud/hooks/vertex_ai/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
74
|
-
airflow/providers/google/cloud/hooks/vertex_ai/auto_ml.py,sha256=
|
75
|
-
airflow/providers/google/cloud/hooks/vertex_ai/batch_prediction_job.py,sha256=
|
76
|
-
airflow/providers/google/cloud/hooks/vertex_ai/custom_job.py,sha256=
|
74
|
+
airflow/providers/google/cloud/hooks/vertex_ai/auto_ml.py,sha256=e5S2MhS37JW1ODumYtE3dlvSSAy8UFzYyuvFG3Pk_Ok,88199
|
75
|
+
airflow/providers/google/cloud/hooks/vertex_ai/batch_prediction_job.py,sha256=KIjdycRIx08qL-U7wqiETAzU0cPM-_wGpUQkZYhwTHA,34280
|
76
|
+
airflow/providers/google/cloud/hooks/vertex_ai/custom_job.py,sha256=SWpJRvCVObt7lP0trSqf-YXOzxAxYIM5ZgRkNGg025Q,184903
|
77
77
|
airflow/providers/google/cloud/hooks/vertex_ai/dataset.py,sha256=IJ7LkZ9sGBM0g_mYns7hS5CTvqIJ2luxfYrmvInftvk,18079
|
78
|
-
airflow/providers/google/cloud/hooks/vertex_ai/endpoint_service.py,sha256=
|
78
|
+
airflow/providers/google/cloud/hooks/vertex_ai/endpoint_service.py,sha256=2RTXqIYooW_kmAjVLACyh0Qnyn4NstOuJouiB67s-TU,15553
|
79
79
|
airflow/providers/google/cloud/hooks/vertex_ai/feature_store.py,sha256=7MoGJj7znSc2uixWN0cNd26VlG_nW7KOrnMW8ZRgosE,6601
|
80
80
|
airflow/providers/google/cloud/hooks/vertex_ai/generative_model.py,sha256=u_Ncx7f0SUiri8DmdOJtCr24YZpjW1jSjrOJsPqfmFA,18843
|
81
|
-
airflow/providers/google/cloud/hooks/vertex_ai/hyperparameter_tuning_job.py,sha256=
|
82
|
-
airflow/providers/google/cloud/hooks/vertex_ai/model_service.py,sha256=
|
81
|
+
airflow/providers/google/cloud/hooks/vertex_ai/hyperparameter_tuning_job.py,sha256=BET_4-ku-zIwnVvEOk8VUIx6slphz8SQHocKu0rN7Sg,24574
|
82
|
+
airflow/providers/google/cloud/hooks/vertex_ai/model_service.py,sha256=u8smUqa1rhTfKWyOt2Xq4X3W7T2uvnfbXc97mybKbRQ,17867
|
83
83
|
airflow/providers/google/cloud/hooks/vertex_ai/pipeline_job.py,sha256=72uuTgF_k84ebYB5U73SKwYlX4jhlFaLss_V0oMHC8U,28837
|
84
84
|
airflow/providers/google/cloud/hooks/vertex_ai/prediction_service.py,sha256=U4hTr1dJZ7PB2aV-lq75jooy8wNO4LxjLdNNqU9qgSg,4290
|
85
85
|
airflow/providers/google/cloud/links/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
@@ -93,7 +93,7 @@ airflow/providers/google/cloud/links/cloud_build.py,sha256=zvjrcOrCmE5DovXGNybPd
|
|
93
93
|
airflow/providers/google/cloud/links/cloud_functions.py,sha256=gWB4KcyeddlJDA7axWnzbD_hpEuztGIsd46ZMqH3ZCI,2532
|
94
94
|
airflow/providers/google/cloud/links/cloud_memorystore.py,sha256=a9ND4k37srSeohYU5RqVsdUyrFGWb_WoKktNGxuTB4A,3871
|
95
95
|
airflow/providers/google/cloud/links/cloud_sql.py,sha256=CqAOS0vGmfwVFnqsZkP2smt5Q7dMkJPDyx9mzXIbMtw,2534
|
96
|
-
airflow/providers/google/cloud/links/cloud_storage_transfer.py,sha256=
|
96
|
+
airflow/providers/google/cloud/links/cloud_storage_transfer.py,sha256=k4ebG86u7HkpExNtx76F48P4RyWUDIMyZ8n9Q7dwQTk,3949
|
97
97
|
airflow/providers/google/cloud/links/cloud_tasks.py,sha256=67RZeqvptqunbL14WZQKx4KyKTlwZcD8sImZ3ZU6C5g,2775
|
98
98
|
airflow/providers/google/cloud/links/compute.py,sha256=SbFObt7WXIeI_mHHcwYBkkeVzxWu2M5-lr9gXYlbsjk,3686
|
99
99
|
airflow/providers/google/cloud/links/data_loss_prevention.py,sha256=ds4dNR4kEVI6heW2IFnxkHBH74FTntt5-tTkn4W4Q4M,9291
|
@@ -103,7 +103,7 @@ airflow/providers/google/cloud/links/dataform.py,sha256=ndIk7TL5BNx6bUnw0TuMhAWV
|
|
103
103
|
airflow/providers/google/cloud/links/datafusion.py,sha256=Vq2quWvL47Gp-qz4QUGivrrpRYeNehYunDHUlVERQ_E,4382
|
104
104
|
airflow/providers/google/cloud/links/dataplex.py,sha256=afh1ditWn565C7uCYh1sMBbdoSUTl-qs0MuuE55U2D0,8725
|
105
105
|
airflow/providers/google/cloud/links/dataprep.py,sha256=Hgh9LC-Uzh3jFRVkzbp9tWn48wdIQAHNlIf4nFwtAaQ,2233
|
106
|
-
airflow/providers/google/cloud/links/dataproc.py,sha256=
|
106
|
+
airflow/providers/google/cloud/links/dataproc.py,sha256=fLKWy2ngZt5gVYQ6R7l0614i5EEIWBPvInCmXasOOb8,9182
|
107
107
|
airflow/providers/google/cloud/links/datastore.py,sha256=-JjfCKkD6crGb45DO47o6ZeYAslVUPjR-D8v1hZoiLI,2374
|
108
108
|
airflow/providers/google/cloud/links/kubernetes_engine.py,sha256=Azk_A-vN48m9LfmDpkExRjg_NYJ4ZqIUIEDhgA4vdRE,4702
|
109
109
|
airflow/providers/google/cloud/links/life_sciences.py,sha256=hoqmmxXAZS1V15oXKbgnAjgE0pqFejZe6O366UGIwR8,1629
|
@@ -116,16 +116,16 @@ airflow/providers/google/cloud/links/translate.py,sha256=soYQFLoeHW0XtUdGGO0Ay4D
|
|
116
116
|
airflow/providers/google/cloud/links/vertex_ai.py,sha256=T5WGK77wKIPTiHtxKuQXvokArjVQYwZPjX5IgJX1dds,11138
|
117
117
|
airflow/providers/google/cloud/links/workflows.py,sha256=Ux7bwq2fspvSoNT4X3xFXX2SSmp8EuwDyPQsTO-z7bI,3303
|
118
118
|
airflow/providers/google/cloud/log/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
119
|
-
airflow/providers/google/cloud/log/gcs_task_handler.py,sha256=
|
119
|
+
airflow/providers/google/cloud/log/gcs_task_handler.py,sha256=84zexRsEprkcWiENNXKuYWygyo3nCxF_rGjRYs0xVoU,11059
|
120
120
|
airflow/providers/google/cloud/log/stackdriver_task_handler.py,sha256=KGjso772Oi8U_tg6EA8MvyiNZg4Wggdd1qoEVICC0mE,15824
|
121
121
|
airflow/providers/google/cloud/openlineage/BigQueryJobRunFacet.json,sha256=sWvE1o30bCqBBmB19n6wFZyL6BBcc22kCGWe0qcsYBc,850
|
122
122
|
airflow/providers/google/cloud/openlineage/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
123
|
-
airflow/providers/google/cloud/openlineage/facets.py,sha256
|
124
|
-
airflow/providers/google/cloud/openlineage/mixins.py,sha256=
|
123
|
+
airflow/providers/google/cloud/openlineage/facets.py,sha256=-PsDTHtswdWQnbbRzOLUKNdqcMserIqu6okCogXk5Mg,2510
|
124
|
+
airflow/providers/google/cloud/openlineage/mixins.py,sha256=yZ4VMBj3vZG8nFvK8r0rSxDZ0UtxRRlxKvDYGmJq6tw,26823
|
125
125
|
airflow/providers/google/cloud/openlineage/utils.py,sha256=HbB4uWga0TN7eW564UHFbvuSUTHBuV4SOAEv-bEK968,28608
|
126
126
|
airflow/providers/google/cloud/operators/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
127
127
|
airflow/providers/google/cloud/operators/alloy_db.py,sha256=BcfbGqO0aF9RhTPDkGWNsfg5phtTBvF_w__0bgaXsoM,66500
|
128
|
-
airflow/providers/google/cloud/operators/automl.py,sha256=
|
128
|
+
airflow/providers/google/cloud/operators/automl.py,sha256=Anpxcd1FQXCSFzGPIOfd3h6wK7B3_Or55uTPBaO8o6M,57114
|
129
129
|
airflow/providers/google/cloud/operators/bigquery.py,sha256=VAJ3bK5IcmsUA_D6dBRk1vnYi7keDBsWTSx5dHj6Lm0,131682
|
130
130
|
airflow/providers/google/cloud/operators/bigquery_dts.py,sha256=icG869NbF8rQp6oRI2qq0aLQCRjT0vwR_sFEHAdbGvc,23215
|
131
131
|
airflow/providers/google/cloud/operators/bigtable.py,sha256=f6IMm7a0FvOjVEpBjQBj-UWFfOvSs5laUddCgkVseBM,26948
|
@@ -136,16 +136,16 @@ airflow/providers/google/cloud/operators/cloud_composer.py,sha256=XknOnQaiVKgDYV
|
|
136
136
|
airflow/providers/google/cloud/operators/cloud_memorystore.py,sha256=PBo5e1OCGxKml7WUcdEEpOxZStqfT2seP_Sy59g8_GU,71016
|
137
137
|
airflow/providers/google/cloud/operators/cloud_run.py,sha256=X0bu8L8z4t-jIyfMhyjIpj6Xc87cULblqotGgoHA5bA,21871
|
138
138
|
airflow/providers/google/cloud/operators/cloud_sql.py,sha256=0D4Z2wgaNLl0m46oV-1rNbaEeb1rNQkHmQfPMGYwNT0,53920
|
139
|
-
airflow/providers/google/cloud/operators/cloud_storage_transfer_service.py,sha256=
|
139
|
+
airflow/providers/google/cloud/operators/cloud_storage_transfer_service.py,sha256=nNEdUYxKiExmYQdRo5W3081JefN4ZZD8Sap-3Y0qhEw,50455
|
140
140
|
airflow/providers/google/cloud/operators/compute.py,sha256=H19huz_W4dyE_ScO8Pr3YZsLGmrcqA4f78B5Wh2mrQs,74667
|
141
141
|
airflow/providers/google/cloud/operators/datacatalog.py,sha256=jXngiAo-Rb8hYCJ_txOqH7mTnZIh63ozJRPfxrWQUCM,92989
|
142
142
|
airflow/providers/google/cloud/operators/dataflow.py,sha256=24jaEqWrVajyB15UKaxAQYZOz9bNT4vT-ttXIeMPAck,52309
|
143
143
|
airflow/providers/google/cloud/operators/dataform.py,sha256=txtBvGcoH0dcTdEumN2-ZCA6HIOZTm2nvnG-8Qx_bQo,48772
|
144
|
-
airflow/providers/google/cloud/operators/datafusion.py,sha256=
|
144
|
+
airflow/providers/google/cloud/operators/datafusion.py,sha256=WeTqQ3eLG3Dp1AxDKZoVCBxpewWa-zyhRy7kfROHWCM,40876
|
145
145
|
airflow/providers/google/cloud/operators/dataplex.py,sha256=yU2QwPoHOpo6R40RF05hTxGzldM21gga-gpT14-nMeo,184741
|
146
146
|
airflow/providers/google/cloud/operators/dataprep.py,sha256=MPt0xFDWp61q2FqFayB1IROplm-DhT1WOilHnL7X6xI,10504
|
147
|
-
airflow/providers/google/cloud/operators/dataproc.py,sha256=
|
148
|
-
airflow/providers/google/cloud/operators/dataproc_metastore.py,sha256=
|
147
|
+
airflow/providers/google/cloud/operators/dataproc.py,sha256=3wZssZs1GcwnhnOIw2OVS-JXDP2KVzgow3WqCpb4bqI,135150
|
148
|
+
airflow/providers/google/cloud/operators/dataproc_metastore.py,sha256=TtXmELUxr9_33eahqk9t7M3D3ze-LMz5oG6Q6jooFik,50731
|
149
149
|
airflow/providers/google/cloud/operators/datastore.py,sha256=ni0o7Tuld6hdUDasMvL31v8Vah7cRL7ZhyF57RKKnFc,24954
|
150
150
|
airflow/providers/google/cloud/operators/dlp.py,sha256=u2UIW2yvo2triOUNDJCxdJSciMC152Ks1W6HaM_g2ZM,120769
|
151
151
|
airflow/providers/google/cloud/operators/functions.py,sha256=ZROP6PWCS_NTQ2tbXBGiQXTSEeSUkOaaMHWluyF8-vA,20182
|
@@ -154,23 +154,23 @@ airflow/providers/google/cloud/operators/kubernetes_engine.py,sha256=4W5nbFnFDND
|
|
154
154
|
airflow/providers/google/cloud/operators/life_sciences.py,sha256=4xtpbaWq71GTQ7MeTL1N43AP6u5ecqXMbLeMeVJSDso,4881
|
155
155
|
airflow/providers/google/cloud/operators/looker.py,sha256=LCbN0vv8y0exwvfHbRXmUtNUZIOlSfljInNZK1zcfrs,4063
|
156
156
|
airflow/providers/google/cloud/operators/managed_kafka.py,sha256=5RXLiq1P-YF7xV6RYj_gTibcy4EVShDScbE_gCF0xh0,50067
|
157
|
-
airflow/providers/google/cloud/operators/mlengine.py,sha256=
|
157
|
+
airflow/providers/google/cloud/operators/mlengine.py,sha256=YOUv2lDqvmbp7tt0ETVkl90wVRsiu1c8UelgRLuF1xU,4445
|
158
158
|
airflow/providers/google/cloud/operators/natural_language.py,sha256=lAStRPEFGaLPmx2z9lfEZKnZWkKI6lJSW-KVsP_ghPQ,13739
|
159
159
|
airflow/providers/google/cloud/operators/pubsub.py,sha256=4EC0ZjcwxY2M8VLzGthAOHBW5axVNpWQQUED9YjlJrE,37280
|
160
|
-
airflow/providers/google/cloud/operators/spanner.py,sha256=
|
160
|
+
airflow/providers/google/cloud/operators/spanner.py,sha256=oLN3PVj0pB6gdjbJdLjDTtkcEPqbZkurtgZS_aP1gGw,24946
|
161
161
|
airflow/providers/google/cloud/operators/speech_to_text.py,sha256=ZojFFdUazlBi-h-ceeJghfMgczvXw2E5XanY5yDx64o,5723
|
162
162
|
airflow/providers/google/cloud/operators/stackdriver.py,sha256=8jdm0HgHQklwbnUmgSfn3P_vODpNptkgEtgOFPZ0tYA,39232
|
163
163
|
airflow/providers/google/cloud/operators/tasks.py,sha256=1Axl2oJl_wSvR8bL_duT-wcaAyVIEj_tr9T-tBxmDMo,48447
|
164
164
|
airflow/providers/google/cloud/operators/text_to_speech.py,sha256=N7fuexVzPfGleEZPRBVinMJ6ALtsDHl0YazQHR0yxS0,6983
|
165
|
-
airflow/providers/google/cloud/operators/translate.py,sha256=
|
165
|
+
airflow/providers/google/cloud/operators/translate.py,sha256=4ClgwRFTSn3QdHQKe1tfV9YJBEVYcdvIvEcGgV4LQt4,76945
|
166
166
|
airflow/providers/google/cloud/operators/translate_speech.py,sha256=O7HLlbxXbzUt4Us6kzQBZewWz0VbVCS8C3BrTuBB6wk,7962
|
167
167
|
airflow/providers/google/cloud/operators/video_intelligence.py,sha256=FIyKBPHhkYniJ7VXJhX-_T6YpwPsjWLkKm2-13E8fXg,14192
|
168
168
|
airflow/providers/google/cloud/operators/vision.py,sha256=tg81pPfpiGudAqkGVfqHXt0aYa0EAeXAwQJRKgORyOA,67740
|
169
169
|
airflow/providers/google/cloud/operators/workflows.py,sha256=DV1KQHC-ty1DPhYftxQvL5GTdWryomHUagvxdyYes4M,29002
|
170
170
|
airflow/providers/google/cloud/operators/vertex_ai/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
171
|
-
airflow/providers/google/cloud/operators/vertex_ai/auto_ml.py,sha256=
|
171
|
+
airflow/providers/google/cloud/operators/vertex_ai/auto_ml.py,sha256=GoDjVA16bo1es3EgfXgXa1OqpgRg4wPzQxCw8FVIPDQ,28390
|
172
172
|
airflow/providers/google/cloud/operators/vertex_ai/batch_prediction_job.py,sha256=ueDxPg3BnurlTmRf3x6pcf3uieQUdyZAkUJGhpN8NfY,28329
|
173
|
-
airflow/providers/google/cloud/operators/vertex_ai/custom_job.py,sha256=
|
173
|
+
airflow/providers/google/cloud/operators/vertex_ai/custom_job.py,sha256=st91BxUAwGAdlsRTU7BkZAk9D7AzxxGz9liVphCjD2E,98266
|
174
174
|
airflow/providers/google/cloud/operators/vertex_ai/dataset.py,sha256=JLVN4TGp1pAhSg_tS-bzAlZkGbUytn6DFcblk0MGpxk,23078
|
175
175
|
airflow/providers/google/cloud/operators/vertex_ai/endpoint_service.py,sha256=3yWuoG05kvt-Qfamd0-ghoFQwz6vJJ3Hin_S-LnKfSA,26766
|
176
176
|
airflow/providers/google/cloud/operators/vertex_ai/feature_store.py,sha256=Uc86lYYoXB4IZFrVzGFSKftttleviJMCXY8jhmJTaTY,7422
|
@@ -185,14 +185,14 @@ airflow/providers/google/cloud/sensors/bigquery.py,sha256=ljQJLOsorIvTEK4rBlybce
|
|
185
185
|
airflow/providers/google/cloud/sensors/bigquery_dts.py,sha256=y8Cfs3fmdrjLk9DRnNKugxsIF9JZkqrQa3_WKvriM5M,6449
|
186
186
|
airflow/providers/google/cloud/sensors/bigtable.py,sha256=DWVMXJ3CQUpIKQC-b3MQjvWH1IyrYPrpznIFR0_eYI4,5175
|
187
187
|
airflow/providers/google/cloud/sensors/cloud_composer.py,sha256=FXmqpsEAkjhw6RKA6b8h5bC_xmrs6uqFebyctDNgzf0,9596
|
188
|
-
airflow/providers/google/cloud/sensors/cloud_storage_transfer_service.py,sha256=
|
188
|
+
airflow/providers/google/cloud/sensors/cloud_storage_transfer_service.py,sha256=dnrmneTaKj5igKTAbe8Af3R5pc8ADN_SjvUA_TbXnCM,6594
|
189
189
|
airflow/providers/google/cloud/sensors/dataflow.py,sha256=9iEs79IYaPsZh_rFCSAzk1z0VoegzUp__Yr5N4HQqUI,23535
|
190
190
|
airflow/providers/google/cloud/sensors/dataform.py,sha256=Zuwoi7Y5TU3WU1bpL1s3kqKWLGu5wpygmipebjTr8Fc,8500
|
191
191
|
airflow/providers/google/cloud/sensors/datafusion.py,sha256=oXOhb9G19DXvOECJV9pa4pBcUEG7R6X16fiLmSn8tCA,5559
|
192
192
|
airflow/providers/google/cloud/sensors/dataplex.py,sha256=WstDmrmrisIt7bjB_JXIMtFCmFMtzaumM04e2khty1Y,14967
|
193
193
|
airflow/providers/google/cloud/sensors/dataprep.py,sha256=dOQoBr68vg4uUF3e3643JyGXwkPoOERNaUhVrIFAHM4,1940
|
194
194
|
airflow/providers/google/cloud/sensors/dataproc.py,sha256=_HQkO88Hh-ye3M_rNgTv4XLO12jZyrxjwSCWb2HXlGU,7471
|
195
|
-
airflow/providers/google/cloud/sensors/dataproc_metastore.py,sha256=
|
195
|
+
airflow/providers/google/cloud/sensors/dataproc_metastore.py,sha256=q6eAbG86X5HQoyxWn5ycpEY2bt8ET9lisCCoDgyBClM,5458
|
196
196
|
airflow/providers/google/cloud/sensors/gcs.py,sha256=KrGjH-qYJ2reJQJjj_MUjhYc4neaF4A4juMrk-Ppx2A,22310
|
197
197
|
airflow/providers/google/cloud/sensors/looker.py,sha256=zwtfCjxoowBoR3iuHlVpKzgwuN4ft6WGy2gzojlflvo,3609
|
198
198
|
airflow/providers/google/cloud/sensors/pubsub.py,sha256=e4N-KvVO5nmG4AUPtQQa8WKMQvYxrNCMhVfKTGOJwKI,9769
|
@@ -213,7 +213,7 @@ airflow/providers/google/cloud/transfers/bigquery_to_sql.py,sha256=rUlu96RBM_-Pp
|
|
213
213
|
airflow/providers/google/cloud/transfers/calendar_to_gcs.py,sha256=HlJ5ezgVtDlJcNIr-h6XuS6IUlIwnGEtVza-9yL0-t0,8426
|
214
214
|
airflow/providers/google/cloud/transfers/cassandra_to_gcs.py,sha256=lmst2OQv_QRlvLTyPcJ4QpSpFJtVK5ejEKpVababKbw,15841
|
215
215
|
airflow/providers/google/cloud/transfers/facebook_ads_to_gcs.py,sha256=w8f52kUKE29VBOmsqtacgHgHU4AHyzQu42lzPEhwrVY,10354
|
216
|
-
airflow/providers/google/cloud/transfers/gcs_to_bigquery.py,sha256=
|
216
|
+
airflow/providers/google/cloud/transfers/gcs_to_bigquery.py,sha256=Nj4MgnhWT_kXleEGaEoDCuhXQN0mC7kBpDYWpKCprds,37556
|
217
217
|
airflow/providers/google/cloud/transfers/gcs_to_gcs.py,sha256=o9RXCTfH9ecCKfdgJdSFiNG0I3UCMaPE9wA_7b9ikWc,25976
|
218
218
|
airflow/providers/google/cloud/transfers/gcs_to_local.py,sha256=TG_psc2-PMLy_fiK6uofvBPezyAWMcl0kYZpGUbViGU,5727
|
219
219
|
airflow/providers/google/cloud/transfers/gcs_to_sftp.py,sha256=8n9ibEX1WYb6jzx02malQsYH-7la9qFH64vwHFZVSM8,9720
|
@@ -227,7 +227,7 @@ airflow/providers/google/cloud/transfers/postgres_to_gcs.py,sha256=3DrO_PUlDx_iR
|
|
227
227
|
airflow/providers/google/cloud/transfers/presto_to_gcs.py,sha256=m2vzL6EuRjtL8dCOnSdorsJWdP_6sEpIdnwQW0BDwMc,7193
|
228
228
|
airflow/providers/google/cloud/transfers/s3_to_gcs.py,sha256=7BwhUVH8pZHTUULH-NMVOT6CgFuTZsdMHaaVRzd-v9w,15647
|
229
229
|
airflow/providers/google/cloud/transfers/salesforce_to_gcs.py,sha256=4rW-ywDmRCJugL2_eHlBJngyuZudTIGbNcTP2FBLLHM,4821
|
230
|
-
airflow/providers/google/cloud/transfers/sftp_to_gcs.py,sha256=
|
230
|
+
airflow/providers/google/cloud/transfers/sftp_to_gcs.py,sha256=TxAJIyoa-PV-Q1w21IfFZhq53lc-5U7vEMCWjwmus5M,9740
|
231
231
|
airflow/providers/google/cloud/transfers/sheets_to_gcs.py,sha256=GPQLK38HiCcfzCmMVRoY8mXYnLH6qTc0HKKywzIyVS8,5344
|
232
232
|
airflow/providers/google/cloud/transfers/sql_to_gcs.py,sha256=HoxufnI5owHByc_oWdPYpquklLerPSPQBjyXewi1EBg,22501
|
233
233
|
airflow/providers/google/cloud/transfers/trino_to_gcs.py,sha256=xOlZ7JXnSNOGpSKEPXsknotLyx3RUReqn7gparFr-Q0,8163
|
@@ -239,7 +239,7 @@ airflow/providers/google/cloud/triggers/cloud_build.py,sha256=3YgYlZ1ztqAgLalTdW
|
|
239
239
|
airflow/providers/google/cloud/triggers/cloud_composer.py,sha256=kXBslOpA3Qu-uhyV-UdGvMGWzz0Y_pdHB4pZHhQQC7Q,9949
|
240
240
|
airflow/providers/google/cloud/triggers/cloud_run.py,sha256=yYv8OWiiJhqKtJcWdw7ASyG2Ikuq8aE2c3Ndgmtt7ec,6052
|
241
241
|
airflow/providers/google/cloud/triggers/cloud_sql.py,sha256=M_k4bw2hdLdmD4dczbB6iB3QBdzPSXQ6Vwboj9I26Gs,4006
|
242
|
-
airflow/providers/google/cloud/triggers/cloud_storage_transfer_service.py,sha256=
|
242
|
+
airflow/providers/google/cloud/triggers/cloud_storage_transfer_service.py,sha256=BN0xgtlei6nmSkkqjzAj5iiDK3rTM_0R602pFl04dAY,10064
|
243
243
|
airflow/providers/google/cloud/triggers/dataflow.py,sha256=xcOhCk3MzhjGLFhOYWWeiTGPYlrqewTnrQTE6CbOAEs,35159
|
244
244
|
airflow/providers/google/cloud/triggers/datafusion.py,sha256=Qb7QLj02LKUJBT1woDCPbjRYapEGRItiVtQOtieFT0c,6012
|
245
245
|
airflow/providers/google/cloud/triggers/dataplex.py,sha256=RgqGNOG85ihduI81ZQkADbxf8caSeHI4Gha-7ad-yCk,8343
|
@@ -260,16 +260,15 @@ airflow/providers/google/cloud/utils/external_token_supplier.py,sha256=X99NO5ZnO
|
|
260
260
|
airflow/providers/google/cloud/utils/field_sanitizer.py,sha256=CJlHnWJUmfVDGJVAAg4RcRiW4dkvXAICA0VbIRVZKiY,6086
|
261
261
|
airflow/providers/google/cloud/utils/field_validator.py,sha256=5ntPS8_LKbH7l70ORMfw8l5Ng9aMg8JkZ9_sp-ULvFU,22422
|
262
262
|
airflow/providers/google/cloud/utils/helpers.py,sha256=g1nMThZRnEAbiPhqmz9ZDRVjXfBq8blgkjr0ebVPipA,1904
|
263
|
-
airflow/providers/google/cloud/utils/mlengine_operator_utils.py,sha256=7gZ9brI78dArATIpViCFYhP_18InefC61pSn1TdwSBc,11741
|
264
263
|
airflow/providers/google/cloud/utils/mlengine_prediction_summary.py,sha256=U3UKIraP01g14VByj1tVJRH0cqOR_S9RKmBifzYWOo0,7667
|
265
264
|
airflow/providers/google/cloud/utils/validators.py,sha256=S9DSwZhorNXxSeTRRu6BofY_Gp0zAtWChgIeaLLcYpY,1459
|
266
265
|
airflow/providers/google/common/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
267
266
|
airflow/providers/google/common/consts.py,sha256=KKjQX0FO6HP4MuzS8DDfWPoQNk0mhdOrYe5CzDUx2e4,1050
|
268
267
|
airflow/providers/google/common/deprecated.py,sha256=9N4A6AQ3sisIe6P9dt9vXuiWHuGPqKUKk2l-3DEUDT0,7953
|
269
268
|
airflow/providers/google/common/auth_backend/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
270
|
-
airflow/providers/google/common/auth_backend/google_openid.py,sha256=
|
269
|
+
airflow/providers/google/common/auth_backend/google_openid.py,sha256=a_uoFwkLqVtSyaot39QdbinvZm4sYRcnuNB3vWzlQVw,4960
|
271
270
|
airflow/providers/google/common/hooks/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
272
|
-
airflow/providers/google/common/hooks/base_google.py,sha256=
|
271
|
+
airflow/providers/google/common/hooks/base_google.py,sha256=2GvOKpmjLEqhk3MnZNqJKNo_OB9lZ7nFkG1Tm0FcN0s,32745
|
273
272
|
airflow/providers/google/common/hooks/discovery_api.py,sha256=G_VJZbw4ye33I9JO-WLiyUoRz7WdZ6Yn5ZhcCFkf5ZQ,6482
|
274
273
|
airflow/providers/google/common/hooks/operation_helpers.py,sha256=t_EGS14w7XSUbvhU06D774nh3ACFc68thWuM-y_zDw4,3053
|
275
274
|
airflow/providers/google/common/links/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
@@ -301,11 +300,11 @@ airflow/providers/google/marketing_platform/operators/display_video.py,sha256=AN
|
|
301
300
|
airflow/providers/google/marketing_platform/operators/search_ads.py,sha256=riY9QCd3h3pWqz8ofP4gwY0AbsniWn0tSvDFVofESk0,10920
|
302
301
|
airflow/providers/google/marketing_platform/sensors/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
303
302
|
airflow/providers/google/marketing_platform/sensors/campaign_manager.py,sha256=qskot8sthmIRvfQgciaAXtl2jI7hdeiJF0mOOBpR6Rs,3854
|
304
|
-
airflow/providers/google/marketing_platform/sensors/display_video.py,sha256=
|
303
|
+
airflow/providers/google/marketing_platform/sensors/display_video.py,sha256=f5R9Lw2925APiH2myuzMAgT26-5p8d45mqbfKIG2m54,6202
|
305
304
|
airflow/providers/google/suite/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
306
305
|
airflow/providers/google/suite/hooks/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
307
306
|
airflow/providers/google/suite/hooks/calendar.py,sha256=j8y45TXxOdyxdqq6TnS6wfTsEqiBfevZwZQ32nOd5lQ,8999
|
308
|
-
airflow/providers/google/suite/hooks/drive.py,sha256=
|
307
|
+
airflow/providers/google/suite/hooks/drive.py,sha256=SWFBymtmBAtd4BK0PnxYgPGFNgTa8vACDJsFt-hoxLU,12637
|
309
308
|
airflow/providers/google/suite/hooks/sheets.py,sha256=70A8UahYGMo3xMMJXlg5erh-V7nCDm0IUXtRiFwfv9A,16444
|
310
309
|
airflow/providers/google/suite/operators/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
311
310
|
airflow/providers/google/suite/operators/sheets.py,sha256=oaAV3AcP30Xn3NJ3xdM2BrVAPb8gWBJeE_KdFO4JHH4,3083
|
@@ -316,7 +315,7 @@ airflow/providers/google/suite/transfers/gcs_to_gdrive.py,sha256=p3yRcEDp_ffxlHj
|
|
316
315
|
airflow/providers/google/suite/transfers/gcs_to_sheets.py,sha256=iOrVicksPRSqRTvV2DX5ZgOHHGZekpCr3DvBFBquo_M,4003
|
317
316
|
airflow/providers/google/suite/transfers/local_to_drive.py,sha256=NXAX1r9WGvW0X8af6CKqfFeiHjczRJJzgSOqMRUtrYg,5794
|
318
317
|
airflow/providers/google/suite/transfers/sql_to_sheets.py,sha256=XFc95mXTGlAP9FbcYxOvjHWgiFN03skxXxAUGMqZXcE,4909
|
319
|
-
apache_airflow_providers_google-
|
320
|
-
apache_airflow_providers_google-
|
321
|
-
apache_airflow_providers_google-
|
322
|
-
apache_airflow_providers_google-
|
318
|
+
apache_airflow_providers_google-15.0.0rc1.dist-info/entry_points.txt,sha256=Ay1Uo7uHxdXCxWew3CyBHumZ44Ld-iR7AcSR2fY-PLw,102
|
319
|
+
apache_airflow_providers_google-15.0.0rc1.dist-info/WHEEL,sha256=_2ozNFCLWc93bK4WKHCO-eDUENDlo-dgc9cU3qokYO4,82
|
320
|
+
apache_airflow_providers_google-15.0.0rc1.dist-info/METADATA,sha256=36H4Dvd4XQxjKOw3nLam659VV2m_4L46Y2FL5JNlpQM,16351
|
321
|
+
apache_airflow_providers_google-15.0.0rc1.dist-info/RECORD,,
|
@@ -1,273 +0,0 @@
|
|
1
|
-
# Licensed to the Apache Software Foundation (ASF) under one
|
2
|
-
# or more contributor license agreements. See the NOTICE file
|
3
|
-
# distributed with this work for additional information
|
4
|
-
# regarding copyright ownership. The ASF licenses this file
|
5
|
-
# to you under the Apache License, Version 2.0 (the
|
6
|
-
# "License"); you may not use this file except in compliance
|
7
|
-
# with the License. You may obtain a copy of the License at
|
8
|
-
#
|
9
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
-
#
|
11
|
-
# Unless required by applicable law or agreed to in writing,
|
12
|
-
# software distributed under the License is distributed on an
|
13
|
-
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
14
|
-
# KIND, either express or implied. See the License for the
|
15
|
-
# specific language governing permissions and limitations
|
16
|
-
# under the License.
|
17
|
-
"""This module contains helper functions for MLEngine operators."""
|
18
|
-
|
19
|
-
from __future__ import annotations
|
20
|
-
|
21
|
-
import base64
|
22
|
-
import json
|
23
|
-
import os
|
24
|
-
import re
|
25
|
-
from collections.abc import Iterable
|
26
|
-
from typing import TYPE_CHECKING, Callable, TypeVar
|
27
|
-
from urllib.parse import urlsplit
|
28
|
-
|
29
|
-
import dill
|
30
|
-
|
31
|
-
from airflow.exceptions import AirflowException
|
32
|
-
from airflow.providers.apache.beam.hooks.beam import BeamRunnerType
|
33
|
-
from airflow.providers.apache.beam.operators.beam import BeamRunPythonPipelineOperator
|
34
|
-
from airflow.providers.common.compat.standard.operators import PythonOperator
|
35
|
-
from airflow.providers.google.cloud.hooks.gcs import GCSHook
|
36
|
-
from airflow.providers.google.cloud.operators.mlengine import MLEngineStartBatchPredictionJobOperator
|
37
|
-
|
38
|
-
if TYPE_CHECKING:
|
39
|
-
from airflow import DAG
|
40
|
-
|
41
|
-
T = TypeVar("T", bound=Callable)
|
42
|
-
|
43
|
-
|
44
|
-
def create_evaluate_ops(
|
45
|
-
task_prefix: str,
|
46
|
-
data_format: str,
|
47
|
-
input_paths: list[str],
|
48
|
-
prediction_path: str,
|
49
|
-
metric_fn_and_keys: tuple[T, Iterable[str]],
|
50
|
-
validate_fn: T,
|
51
|
-
batch_prediction_job_id: str | None = None,
|
52
|
-
region: str | None = None,
|
53
|
-
project_id: str | None = None,
|
54
|
-
dataflow_options: dict | None = None,
|
55
|
-
model_uri: str | None = None,
|
56
|
-
model_name: str | None = None,
|
57
|
-
version_name: str | None = None,
|
58
|
-
dag: DAG | None = None,
|
59
|
-
py_interpreter="python3",
|
60
|
-
) -> tuple[MLEngineStartBatchPredictionJobOperator, BeamRunPythonPipelineOperator, PythonOperator]:
|
61
|
-
r"""
|
62
|
-
Create Operators needed for model evaluation and returns.
|
63
|
-
|
64
|
-
This function is deprecated. All the functionality of legacy MLEngine and new features are available
|
65
|
-
on the Vertex AI platform.
|
66
|
-
|
67
|
-
To create and view Model Evaluation, please check the documentation:
|
68
|
-
https://cloud.google.com/vertex-ai/docs/evaluation/using-model-evaluation#create_an_evaluation.
|
69
|
-
|
70
|
-
It gets prediction over inputs via Cloud ML Engine BatchPrediction API by
|
71
|
-
calling MLEngineBatchPredictionOperator, then summarize and validate
|
72
|
-
the result via Cloud Dataflow using DataFlowPythonOperator.
|
73
|
-
|
74
|
-
For details and pricing about Batch prediction, please refer to the website
|
75
|
-
https://cloud.google.com/ml-engine/docs/how-tos/batch-predict
|
76
|
-
and for Cloud Dataflow, https://cloud.google.com/dataflow/docs/
|
77
|
-
|
78
|
-
It returns three chained operators for prediction, summary, and validation,
|
79
|
-
named as ``<prefix>-prediction``, ``<prefix>-summary``, and ``<prefix>-validation``,
|
80
|
-
respectively.
|
81
|
-
(``<prefix>`` should contain only alphanumeric characters or hyphen.)
|
82
|
-
|
83
|
-
The upstream and downstream can be set accordingly like:
|
84
|
-
|
85
|
-
.. code-block:: python
|
86
|
-
|
87
|
-
pred, _, val = create_evaluate_ops(...)
|
88
|
-
pred.set_upstream(upstream_op)
|
89
|
-
...
|
90
|
-
downstream_op.set_upstream(val)
|
91
|
-
|
92
|
-
Callers will provide two python callables, metric_fn and validate_fn, in
|
93
|
-
order to customize the evaluation behavior as they wish.
|
94
|
-
|
95
|
-
- metric_fn receives a dictionary per instance derived from json in the
|
96
|
-
batch prediction result. The keys might vary depending on the model.
|
97
|
-
It should return a tuple of metrics.
|
98
|
-
- validation_fn receives a dictionary of the averaged metrics that metric_fn
|
99
|
-
generated over all instances.
|
100
|
-
The key/value of the dictionary matches to what's given by
|
101
|
-
metric_fn_and_keys arg.
|
102
|
-
The dictionary contains an additional metric, 'count' to represent the
|
103
|
-
total number of instances received for evaluation.
|
104
|
-
The function would raise an exception to mark the task as failed, in a
|
105
|
-
case the validation result is not okay to proceed (i.e. to set the trained
|
106
|
-
version as default).
|
107
|
-
|
108
|
-
Typical examples are like this:
|
109
|
-
|
110
|
-
.. code-block:: python
|
111
|
-
|
112
|
-
def get_metric_fn_and_keys():
|
113
|
-
import math # imports should be outside of the metric_fn below.
|
114
|
-
|
115
|
-
def error_and_squared_error(inst):
|
116
|
-
label = float(inst["input_label"])
|
117
|
-
classes = float(inst["classes"]) # 0 or 1
|
118
|
-
err = abs(classes - label)
|
119
|
-
squared_err = math.pow(classes - label, 2)
|
120
|
-
return (err, squared_err) # returns a tuple.
|
121
|
-
|
122
|
-
return error_and_squared_error, ["err", "mse"] # key order must match.
|
123
|
-
|
124
|
-
|
125
|
-
def validate_err_and_count(summary):
|
126
|
-
if summary["err"] > 0.2:
|
127
|
-
raise ValueError("Too high err>0.2; summary=%s" % summary)
|
128
|
-
if summary["mse"] > 0.05:
|
129
|
-
raise ValueError("Too high mse>0.05; summary=%s" % summary)
|
130
|
-
if summary["count"] < 1000:
|
131
|
-
raise ValueError("Too few instances<1000; summary=%s" % summary)
|
132
|
-
return summary
|
133
|
-
|
134
|
-
For the details on the other BatchPrediction-related arguments (project_id,
|
135
|
-
job_id, region, data_format, input_paths, prediction_path, model_uri),
|
136
|
-
please refer to MLEngineBatchPredictionOperator too.
|
137
|
-
|
138
|
-
:param task_prefix: a prefix for the tasks. Only alphanumeric characters and
|
139
|
-
hyphen are allowed (no underscores), since this will be used as dataflow
|
140
|
-
job name, which doesn't allow other characters.
|
141
|
-
|
142
|
-
:param data_format: either of 'TEXT', 'TF_RECORD', 'TF_RECORD_GZIP'
|
143
|
-
|
144
|
-
:param input_paths: a list of input paths to be sent to BatchPrediction.
|
145
|
-
|
146
|
-
:param prediction_path: GCS path to put the prediction results in.
|
147
|
-
|
148
|
-
:param metric_fn_and_keys: a tuple of metric_fn and metric_keys:
|
149
|
-
|
150
|
-
- metric_fn is a function that accepts a dictionary (for an instance),
|
151
|
-
and returns a tuple of metric(s) that it calculates.
|
152
|
-
|
153
|
-
- metric_keys is a list of strings to denote the key of each metric.
|
154
|
-
|
155
|
-
:param validate_fn: a function to validate whether the averaged metric(s) is
|
156
|
-
good enough to push the model.
|
157
|
-
|
158
|
-
:param batch_prediction_job_id: the id to use for the Cloud ML Batch
|
159
|
-
prediction job. Passed directly to the MLEngineBatchPredictionOperator as
|
160
|
-
the job_id argument.
|
161
|
-
|
162
|
-
:param project_id: the Google Cloud project id in which to execute
|
163
|
-
Cloud ML Batch Prediction and Dataflow jobs. If None, then the `dag`'s
|
164
|
-
`default_args['project_id']` will be used.
|
165
|
-
|
166
|
-
:param region: the Google Cloud region in which to execute Cloud ML
|
167
|
-
Batch Prediction and Dataflow jobs. If None, then the `dag`'s
|
168
|
-
`default_args['region']` will be used.
|
169
|
-
|
170
|
-
:param dataflow_options: options to run Dataflow jobs. If None, then the
|
171
|
-
`dag`'s `default_args['dataflow_default_options']` will be used.
|
172
|
-
|
173
|
-
:param model_uri: GCS path of the model exported by Tensorflow using
|
174
|
-
``tensorflow.estimator.export_savedmodel()``. It cannot be used with
|
175
|
-
model_name or version_name below. See MLEngineBatchPredictionOperator for
|
176
|
-
more detail.
|
177
|
-
|
178
|
-
:param model_name: Used to indicate a model to use for prediction. Can be
|
179
|
-
used in combination with version_name, but cannot be used together with
|
180
|
-
model_uri. See MLEngineBatchPredictionOperator for more detail. If None,
|
181
|
-
then the `dag`'s `default_args['model_name']` will be used.
|
182
|
-
|
183
|
-
:param version_name: Used to indicate a model version to use for prediction,
|
184
|
-
in combination with model_name. Cannot be used together with model_uri.
|
185
|
-
See MLEngineBatchPredictionOperator for more detail. If None, then the
|
186
|
-
`dag`'s `default_args['version_name']` will be used.
|
187
|
-
|
188
|
-
:param dag: The `DAG` to use for all Operators.
|
189
|
-
|
190
|
-
:param py_interpreter: Python version of the beam pipeline.
|
191
|
-
If None, this defaults to the python3.
|
192
|
-
To track python versions supported by beam and related
|
193
|
-
issues check: https://issues.apache.org/jira/browse/BEAM-1251
|
194
|
-
|
195
|
-
:returns: a tuple of three operators, (prediction, summary, validation)
|
196
|
-
PythonOperator)
|
197
|
-
"""
|
198
|
-
batch_prediction_job_id = batch_prediction_job_id or ""
|
199
|
-
dataflow_options = dataflow_options or {}
|
200
|
-
region = region or ""
|
201
|
-
|
202
|
-
# Verify that task_prefix doesn't have any special characters except hyphen
|
203
|
-
# '-', which is the only allowed non-alphanumeric character by Dataflow.
|
204
|
-
if not re.fullmatch(r"[a-zA-Z][-A-Za-z0-9]*", task_prefix):
|
205
|
-
raise AirflowException(
|
206
|
-
"Malformed task_id for DataFlowPythonOperator (only alphanumeric "
|
207
|
-
"and hyphens are allowed but got: " + task_prefix
|
208
|
-
)
|
209
|
-
|
210
|
-
metric_fn, metric_keys = metric_fn_and_keys
|
211
|
-
if not callable(metric_fn):
|
212
|
-
raise AirflowException("`metric_fn` param must be callable.")
|
213
|
-
if not callable(validate_fn):
|
214
|
-
raise AirflowException("`validate_fn` param must be callable.")
|
215
|
-
|
216
|
-
if dag is not None and dag.default_args is not None:
|
217
|
-
default_args = dag.default_args
|
218
|
-
project_id = project_id or default_args.get("project_id")
|
219
|
-
region = region or default_args["region"]
|
220
|
-
model_name = model_name or default_args.get("model_name")
|
221
|
-
version_name = version_name or default_args.get("version_name")
|
222
|
-
dataflow_options = dataflow_options or default_args.get("dataflow_default_options")
|
223
|
-
|
224
|
-
evaluate_prediction = MLEngineStartBatchPredictionJobOperator(
|
225
|
-
task_id=(task_prefix + "-prediction"),
|
226
|
-
project_id=project_id,
|
227
|
-
job_id=batch_prediction_job_id,
|
228
|
-
region=region,
|
229
|
-
data_format=data_format,
|
230
|
-
input_paths=input_paths,
|
231
|
-
output_path=prediction_path,
|
232
|
-
uri=model_uri,
|
233
|
-
model_name=model_name,
|
234
|
-
version_name=version_name,
|
235
|
-
dag=dag,
|
236
|
-
)
|
237
|
-
|
238
|
-
metric_fn_encoded = base64.b64encode(dill.dumps(metric_fn, recurse=True)).decode()
|
239
|
-
evaluate_summary = BeamRunPythonPipelineOperator(
|
240
|
-
task_id=(task_prefix + "-summary"),
|
241
|
-
runner=BeamRunnerType.DataflowRunner,
|
242
|
-
py_file=os.path.join(os.path.dirname(__file__), "mlengine_prediction_summary.py"),
|
243
|
-
default_pipeline_options=dataflow_options,
|
244
|
-
pipeline_options={
|
245
|
-
"prediction_path": prediction_path,
|
246
|
-
"metric_fn_encoded": metric_fn_encoded,
|
247
|
-
"metric_keys": ",".join(metric_keys),
|
248
|
-
},
|
249
|
-
py_interpreter=py_interpreter,
|
250
|
-
py_requirements=["apache-beam[gcp]>=2.46.0"],
|
251
|
-
dag=dag,
|
252
|
-
)
|
253
|
-
evaluate_summary.set_upstream(evaluate_prediction)
|
254
|
-
|
255
|
-
def apply_validate_fn(*args, templates_dict, **kwargs):
|
256
|
-
prediction_path = templates_dict["prediction_path"]
|
257
|
-
scheme, bucket, obj, _, _ = urlsplit(prediction_path)
|
258
|
-
if scheme != "gs" or not bucket or not obj:
|
259
|
-
raise ValueError(f"Wrong format prediction_path: {prediction_path}")
|
260
|
-
summary = os.path.join(obj.strip("/"), "prediction.summary.json")
|
261
|
-
gcs_hook = GCSHook()
|
262
|
-
summary = json.loads(gcs_hook.download(bucket, summary).decode("utf-8"))
|
263
|
-
return validate_fn(summary)
|
264
|
-
|
265
|
-
evaluate_validation = PythonOperator(
|
266
|
-
task_id=(task_prefix + "-validation"),
|
267
|
-
python_callable=apply_validate_fn,
|
268
|
-
templates_dict={"prediction_path": prediction_path},
|
269
|
-
dag=dag,
|
270
|
-
)
|
271
|
-
evaluate_validation.set_upstream(evaluate_summary)
|
272
|
-
|
273
|
-
return evaluate_prediction, evaluate_summary, evaluate_validation
|
File without changes
|