apache-airflow-providers-snowflake 6.2.1rc1__py3-none-any.whl → 6.2.2rc1__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/snowflake/__init__.py +1 -1
- airflow/providers/snowflake/hooks/snowflake.py +2 -3
- airflow/providers/snowflake/hooks/snowflake_sql_api.py +4 -5
- airflow/providers/snowflake/operators/snowflake.py +2 -2
- airflow/providers/snowflake/utils/snowpark.py +1 -2
- {apache_airflow_providers_snowflake-6.2.1rc1.dist-info → apache_airflow_providers_snowflake-6.2.2rc1.dist-info}/METADATA +6 -6
- {apache_airflow_providers_snowflake-6.2.1rc1.dist-info → apache_airflow_providers_snowflake-6.2.2rc1.dist-info}/RECORD +9 -9
- {apache_airflow_providers_snowflake-6.2.1rc1.dist-info → apache_airflow_providers_snowflake-6.2.2rc1.dist-info}/WHEEL +0 -0
- {apache_airflow_providers_snowflake-6.2.1rc1.dist-info → apache_airflow_providers_snowflake-6.2.2rc1.dist-info}/entry_points.txt +0 -0
|
@@ -29,7 +29,7 @@ from airflow import __version__ as airflow_version
|
|
|
29
29
|
|
|
30
30
|
__all__ = ["__version__"]
|
|
31
31
|
|
|
32
|
-
__version__ = "6.2.
|
|
32
|
+
__version__ = "6.2.2"
|
|
33
33
|
|
|
34
34
|
if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
|
|
35
35
|
"2.9.0"
|
|
@@ -254,7 +254,7 @@ class SnowflakeHook(DbApiHook):
|
|
|
254
254
|
"The private_key_file and private_key_content extra fields are mutually exclusive. "
|
|
255
255
|
"Please remove one."
|
|
256
256
|
)
|
|
257
|
-
|
|
257
|
+
if private_key_file:
|
|
258
258
|
private_key_file_path = Path(private_key_file)
|
|
259
259
|
if not private_key_file_path.is_file() or private_key_file_path.stat().st_size == 0:
|
|
260
260
|
raise ValueError("The private_key_file path points to an empty or invalid file.")
|
|
@@ -497,8 +497,7 @@ class SnowflakeHook(DbApiHook):
|
|
|
497
497
|
if return_single_query_results(sql, return_last, split_statements):
|
|
498
498
|
self.descriptions = [_last_description]
|
|
499
499
|
return _last_result
|
|
500
|
-
|
|
501
|
-
return results
|
|
500
|
+
return results
|
|
502
501
|
|
|
503
502
|
@contextmanager
|
|
504
503
|
def _get_cursor(self, conn: Any, return_dictionaries: bool):
|
|
@@ -117,7 +117,7 @@ class SnowflakeSqlApiHook(SnowflakeHook):
|
|
|
117
117
|
"The private_key_file and private_key_content extra fields are mutually exclusive. "
|
|
118
118
|
"Please remove one."
|
|
119
119
|
)
|
|
120
|
-
|
|
120
|
+
if private_key_file:
|
|
121
121
|
private_key_pem = Path(private_key_file).read_bytes()
|
|
122
122
|
elif private_key_content:
|
|
123
123
|
private_key_pem = private_key_content.encode()
|
|
@@ -289,9 +289,9 @@ class SnowflakeSqlApiHook(SnowflakeHook):
|
|
|
289
289
|
self.log.info("Snowflake SQL GET statements status API response: %s", resp)
|
|
290
290
|
if status_code == 202:
|
|
291
291
|
return {"status": "running", "message": "Query statements are still running"}
|
|
292
|
-
|
|
292
|
+
if status_code == 422:
|
|
293
293
|
return {"status": "error", "message": resp["message"]}
|
|
294
|
-
|
|
294
|
+
if status_code == 200:
|
|
295
295
|
if resp_statement_handles := resp.get("statementHandles"):
|
|
296
296
|
statement_handles = resp_statement_handles
|
|
297
297
|
elif resp_statement_handle := resp.get("statementHandle"):
|
|
@@ -303,8 +303,7 @@ class SnowflakeSqlApiHook(SnowflakeHook):
|
|
|
303
303
|
"message": resp["message"],
|
|
304
304
|
"statement_handles": statement_handles,
|
|
305
305
|
}
|
|
306
|
-
|
|
307
|
-
return {"status": "error", "message": resp["message"]}
|
|
306
|
+
return {"status": "error", "message": resp["message"]}
|
|
308
307
|
|
|
309
308
|
def get_sql_api_query_status(self, query_id: str) -> dict[str, str | list[str]]:
|
|
310
309
|
"""
|
|
@@ -433,7 +433,7 @@ class SnowflakeSqlApiOperator(SQLExecuteQueryOperator):
|
|
|
433
433
|
statement_status = self._hook.get_sql_api_query_status(query_id)
|
|
434
434
|
if statement_status.get("status") == "running":
|
|
435
435
|
break
|
|
436
|
-
|
|
436
|
+
if statement_status.get("status") == "success":
|
|
437
437
|
succeeded_query_ids.append(query_id)
|
|
438
438
|
else:
|
|
439
439
|
raise AirflowException(f"{statement_status.get('status')}: {statement_status.get('message')}")
|
|
@@ -503,7 +503,7 @@ class SnowflakeSqlApiOperator(SQLExecuteQueryOperator):
|
|
|
503
503
|
if "status" in event and event["status"] == "error":
|
|
504
504
|
msg = f"{event['status']}: {event['message']}"
|
|
505
505
|
raise AirflowException(msg)
|
|
506
|
-
|
|
506
|
+
if "status" in event and event["status"] == "success":
|
|
507
507
|
hook = SnowflakeSqlApiHook(snowflake_conn_id=self.snowflake_conn_id)
|
|
508
508
|
query_ids = cast("list[str]", event["statement_query_ids"])
|
|
509
509
|
hook.check_query_output(query_ids)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: apache-airflow-providers-snowflake
|
|
3
|
-
Version: 6.2.
|
|
3
|
+
Version: 6.2.2rc1
|
|
4
4
|
Summary: Provider package apache-airflow-providers-snowflake for Apache Airflow
|
|
5
5
|
Keywords: airflow-provider,snowflake,airflow,integration
|
|
6
6
|
Author-email: Apache Software Foundation <dev@airflow.apache.org>
|
|
@@ -30,8 +30,8 @@ Requires-Dist: snowflake-sqlalchemy>=1.4.0
|
|
|
30
30
|
Requires-Dist: snowflake-snowpark-python>=1.17.0;python_version<'3.12'
|
|
31
31
|
Requires-Dist: apache-airflow-providers-openlineage ; extra == "openlineage"
|
|
32
32
|
Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
|
|
33
|
-
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-snowflake/6.2.
|
|
34
|
-
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-snowflake/6.2.
|
|
33
|
+
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-snowflake/6.2.2/changelog.html
|
|
34
|
+
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-snowflake/6.2.2
|
|
35
35
|
Project-URL: Mastodon, https://fosstodon.org/@airflow
|
|
36
36
|
Project-URL: Slack Chat, https://s.apache.org/airflow-slack
|
|
37
37
|
Project-URL: Source Code, https://github.com/apache/airflow
|
|
@@ -63,7 +63,7 @@ Provides-Extra: openlineage
|
|
|
63
63
|
|
|
64
64
|
Package ``apache-airflow-providers-snowflake``
|
|
65
65
|
|
|
66
|
-
Release: ``6.2.
|
|
66
|
+
Release: ``6.2.2``
|
|
67
67
|
|
|
68
68
|
|
|
69
69
|
`Snowflake <https://www.snowflake.com/>`__
|
|
@@ -76,7 +76,7 @@ This is a provider package for ``snowflake`` provider. All classes for this prov
|
|
|
76
76
|
are in ``airflow.providers.snowflake`` python package.
|
|
77
77
|
|
|
78
78
|
You can find package information and changelog for the provider
|
|
79
|
-
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-snowflake/6.2.
|
|
79
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-snowflake/6.2.2/>`_.
|
|
80
80
|
|
|
81
81
|
Installation
|
|
82
82
|
------------
|
|
@@ -125,5 +125,5 @@ Dependent package
|
|
|
125
125
|
================================================================================================================== =================
|
|
126
126
|
|
|
127
127
|
The changelog for the provider package can be found in the
|
|
128
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-snowflake/6.2.
|
|
128
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-snowflake/6.2.2/changelog.html>`_.
|
|
129
129
|
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
airflow/providers/snowflake/LICENSE,sha256=gXPVwptPlW1TJ4HSuG5OMPg-a3h43OGMkZRR1rpwfJA,10850
|
|
2
|
-
airflow/providers/snowflake/__init__.py,sha256=
|
|
2
|
+
airflow/providers/snowflake/__init__.py,sha256=yIZrxDjowZmilRDQWDlAnWoCcRPNNBNAeqKWxexc7pw,1496
|
|
3
3
|
airflow/providers/snowflake/get_provider_info.py,sha256=NdNRMfulBbpD-I4yFRr8U533m9djD18ijEMvuxOp4_g,3875
|
|
4
4
|
airflow/providers/snowflake/version_compat.py,sha256=aHg90_DtgoSnQvILFICexMyNlHlALBdaeWqkX3dFDug,1605
|
|
5
5
|
airflow/providers/snowflake/decorators/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
|
6
6
|
airflow/providers/snowflake/decorators/snowpark.py,sha256=tKXOjP8m8SEIu0jx2KSrd0n3jGMaIKDOwG2lMkvk3cI,5523
|
|
7
7
|
airflow/providers/snowflake/hooks/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
|
8
|
-
airflow/providers/snowflake/hooks/snowflake.py,sha256=
|
|
9
|
-
airflow/providers/snowflake/hooks/snowflake_sql_api.py,sha256=
|
|
8
|
+
airflow/providers/snowflake/hooks/snowflake.py,sha256=ZUoReavDSsgphmcVAotln824W6jPfaOldrGedDNxIdU,26148
|
|
9
|
+
airflow/providers/snowflake/hooks/snowflake_sql_api.py,sha256=sbv4jrYUykP3huKIHYx-cpJi7xsFnhh6WqXtF0loZvw,15462
|
|
10
10
|
airflow/providers/snowflake/operators/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
|
11
|
-
airflow/providers/snowflake/operators/snowflake.py,sha256=
|
|
11
|
+
airflow/providers/snowflake/operators/snowflake.py,sha256=5MisB-bKqUFM9t5Ky913UqewoHlq3k3mCv4bnc-VY7g,22657
|
|
12
12
|
airflow/providers/snowflake/operators/snowpark.py,sha256=Wt3wzcsja0ed4q2KE9WyL74XH6mUVSPNZvcCHWEHQtc,5815
|
|
13
13
|
airflow/providers/snowflake/transfers/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
|
14
14
|
airflow/providers/snowflake/transfers/copy_into_snowflake.py,sha256=UjbznjbK-QWN071ZFMvBHZXoFddMo0vQFK-7VLv3amo,13191
|
|
@@ -17,9 +17,9 @@ airflow/providers/snowflake/triggers/snowflake_trigger.py,sha256=38tkByMyjbVbSt-
|
|
|
17
17
|
airflow/providers/snowflake/utils/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
|
18
18
|
airflow/providers/snowflake/utils/common.py,sha256=DG-KLy2KpZWAqZqm_XIECm8lmdoUlzwkXv9onmkQThc,1644
|
|
19
19
|
airflow/providers/snowflake/utils/openlineage.py,sha256=SKmePIebxQ23nhm6lshguelIA1TXApjRCSf1fTQqpn0,13995
|
|
20
|
-
airflow/providers/snowflake/utils/snowpark.py,sha256=
|
|
20
|
+
airflow/providers/snowflake/utils/snowpark.py,sha256=9kzWRkdgoNQ8f3Wnr92LdZylMpcpRasxefpOXrM30Cw,1602
|
|
21
21
|
airflow/providers/snowflake/utils/sql_api_generate_jwt.py,sha256=9mR-vHIquv60tfAni87f6FAjKsiRHUDDrsVhzw4M9vM,6762
|
|
22
|
-
apache_airflow_providers_snowflake-6.2.
|
|
23
|
-
apache_airflow_providers_snowflake-6.2.
|
|
24
|
-
apache_airflow_providers_snowflake-6.2.
|
|
25
|
-
apache_airflow_providers_snowflake-6.2.
|
|
22
|
+
apache_airflow_providers_snowflake-6.2.2rc1.dist-info/entry_points.txt,sha256=bCrl5J1PXUMzbgnrKYho61rkbL2gHRT4I6f_1jlxAX4,105
|
|
23
|
+
apache_airflow_providers_snowflake-6.2.2rc1.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
|
|
24
|
+
apache_airflow_providers_snowflake-6.2.2rc1.dist-info/METADATA,sha256=oBxZMvAVqLhKxHwCe-GvD6yAXeOUDJPqVjC_x8EIQJw,6216
|
|
25
|
+
apache_airflow_providers_snowflake-6.2.2rc1.dist-info/RECORD,,
|
|
File without changes
|