apache-airflow-providers-microsoft-azure 12.7.1__py3-none-any.whl → 12.8.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.
Potentially problematic release.
This version of apache-airflow-providers-microsoft-azure might be problematic. Click here for more details.
- airflow/providers/microsoft/azure/__init__.py +1 -1
- airflow/providers/microsoft/azure/fs/adls.py +1 -1
- airflow/providers/microsoft/azure/fs/msgraph.py +111 -0
- airflow/providers/microsoft/azure/get_provider_info.py +4 -1
- airflow/providers/microsoft/azure/hooks/adx.py +1 -1
- airflow/providers/microsoft/azure/hooks/asb.py +1 -1
- airflow/providers/microsoft/azure/hooks/base_azure.py +93 -17
- airflow/providers/microsoft/azure/hooks/batch.py +1 -1
- airflow/providers/microsoft/azure/hooks/container_registry.py +1 -1
- airflow/providers/microsoft/azure/hooks/container_volume.py +1 -1
- airflow/providers/microsoft/azure/hooks/cosmos.py +1 -1
- airflow/providers/microsoft/azure/hooks/data_factory.py +2 -5
- airflow/providers/microsoft/azure/hooks/data_lake.py +1 -1
- airflow/providers/microsoft/azure/hooks/fileshare.py +1 -1
- airflow/providers/microsoft/azure/hooks/msgraph.py +3 -2
- airflow/providers/microsoft/azure/hooks/synapse.py +1 -1
- airflow/providers/microsoft/azure/hooks/wasb.py +1 -1
- airflow/providers/microsoft/azure/operators/adls.py +1 -1
- airflow/providers/microsoft/azure/operators/adx.py +1 -1
- airflow/providers/microsoft/azure/operators/asb.py +1 -1
- airflow/providers/microsoft/azure/operators/batch.py +1 -1
- airflow/providers/microsoft/azure/operators/container_instances.py +1 -1
- airflow/providers/microsoft/azure/operators/cosmos.py +1 -1
- airflow/providers/microsoft/azure/operators/data_factory.py +1 -13
- airflow/providers/microsoft/azure/operators/msgraph.py +1 -1
- airflow/providers/microsoft/azure/operators/powerbi.py +1 -4
- airflow/providers/microsoft/azure/operators/synapse.py +1 -13
- airflow/providers/microsoft/azure/operators/wasb_delete_blob.py +1 -1
- airflow/providers/microsoft/azure/sensors/cosmos.py +1 -6
- airflow/providers/microsoft/azure/sensors/data_factory.py +1 -6
- airflow/providers/microsoft/azure/sensors/msgraph.py +1 -1
- airflow/providers/microsoft/azure/sensors/wasb.py +1 -6
- airflow/providers/microsoft/azure/transfers/local_to_adls.py +1 -1
- airflow/providers/microsoft/azure/transfers/local_to_wasb.py +1 -1
- airflow/providers/microsoft/azure/transfers/oracle_to_azure_data_lake.py +1 -1
- airflow/providers/microsoft/azure/transfers/s3_to_wasb.py +1 -1
- airflow/providers/microsoft/azure/transfers/sftp_to_wasb.py +1 -1
- airflow/providers/microsoft/azure/triggers/data_factory.py +4 -3
- airflow/providers/microsoft/azure/version_compat.py +0 -29
- {apache_airflow_providers_microsoft_azure-12.7.1.dist-info → apache_airflow_providers_microsoft_azure-12.8.0rc1.dist-info}/METADATA +44 -40
- apache_airflow_providers_microsoft_azure-12.8.0rc1.dist-info/RECORD +60 -0
- apache_airflow_providers_microsoft_azure-12.7.1.dist-info/RECORD +0 -59
- {apache_airflow_providers_microsoft_azure-12.7.1.dist-info → apache_airflow_providers_microsoft_azure-12.8.0rc1.dist-info}/WHEEL +0 -0
- {apache_airflow_providers_microsoft_azure-12.7.1.dist-info → apache_airflow_providers_microsoft_azure-12.8.0rc1.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__ = "12.
|
|
32
|
+
__version__ = "12.8.0"
|
|
33
33
|
|
|
34
34
|
if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
|
|
35
35
|
"2.10.0"
|
|
@@ -20,8 +20,8 @@ from typing import TYPE_CHECKING, Any
|
|
|
20
20
|
|
|
21
21
|
from azure.identity import ClientSecretCredential
|
|
22
22
|
|
|
23
|
+
from airflow.providers.common.compat.sdk import BaseHook
|
|
23
24
|
from airflow.providers.microsoft.azure.utils import get_field, parse_blob_account_url
|
|
24
|
-
from airflow.providers.microsoft.azure.version_compat import BaseHook
|
|
25
25
|
|
|
26
26
|
if TYPE_CHECKING:
|
|
27
27
|
from fsspec import AbstractFileSystem
|
|
@@ -0,0 +1,111 @@
|
|
|
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
|
+
|
|
18
|
+
from __future__ import annotations
|
|
19
|
+
|
|
20
|
+
from typing import TYPE_CHECKING, Any
|
|
21
|
+
|
|
22
|
+
from airflow.providers.common.compat.sdk import BaseHook
|
|
23
|
+
from airflow.providers.microsoft.azure.utils import get_field
|
|
24
|
+
|
|
25
|
+
if TYPE_CHECKING:
|
|
26
|
+
from fsspec import AbstractFileSystem
|
|
27
|
+
|
|
28
|
+
schemes = ["msgraph", "sharepoint", "onedrive", "msgd"]
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
def get_fs(conn_id: str | None, storage_options: dict[str, Any] | None = None) -> AbstractFileSystem:
|
|
32
|
+
from msgraphfs import MSGDriveFS
|
|
33
|
+
|
|
34
|
+
if conn_id is None:
|
|
35
|
+
return MSGDriveFS({})
|
|
36
|
+
|
|
37
|
+
conn = BaseHook.get_connection(conn_id)
|
|
38
|
+
extras = conn.extra_dejson
|
|
39
|
+
conn_type = conn.conn_type or "msgraph"
|
|
40
|
+
|
|
41
|
+
options: dict[str, Any] = {}
|
|
42
|
+
|
|
43
|
+
# Get authentication parameters with fallback handling
|
|
44
|
+
client_id = conn.login or get_field(
|
|
45
|
+
conn_id=conn_id, conn_type=conn_type, extras=extras, field_name="client_id"
|
|
46
|
+
)
|
|
47
|
+
client_secret = conn.password or get_field(
|
|
48
|
+
conn_id=conn_id, conn_type=conn_type, extras=extras, field_name="client_secret"
|
|
49
|
+
)
|
|
50
|
+
tenant_id = conn.host or get_field(
|
|
51
|
+
conn_id=conn_id, conn_type=conn_type, extras=extras, field_name="tenant_id"
|
|
52
|
+
)
|
|
53
|
+
|
|
54
|
+
if client_id:
|
|
55
|
+
options["client_id"] = client_id
|
|
56
|
+
if client_secret:
|
|
57
|
+
options["client_secret"] = client_secret
|
|
58
|
+
if tenant_id:
|
|
59
|
+
options["tenant_id"] = tenant_id
|
|
60
|
+
|
|
61
|
+
# Process additional fields from extras
|
|
62
|
+
fields = [
|
|
63
|
+
"drive_id",
|
|
64
|
+
"scope",
|
|
65
|
+
"token_endpoint",
|
|
66
|
+
"redirect_uri",
|
|
67
|
+
"token_endpoint_auth_method",
|
|
68
|
+
"code_challenge_method",
|
|
69
|
+
"update_token",
|
|
70
|
+
"username",
|
|
71
|
+
"password",
|
|
72
|
+
]
|
|
73
|
+
for field in fields:
|
|
74
|
+
value = get_field(conn_id=conn_id, conn_type=conn_type, extras=extras, field_name=field)
|
|
75
|
+
if value is not None:
|
|
76
|
+
if value == "":
|
|
77
|
+
options.pop(field, "")
|
|
78
|
+
else:
|
|
79
|
+
options[field] = value
|
|
80
|
+
|
|
81
|
+
# Update with storage options
|
|
82
|
+
options.update(storage_options or {})
|
|
83
|
+
|
|
84
|
+
# Create oauth2 client parameters if authentication is provided
|
|
85
|
+
oauth2_client_params = {}
|
|
86
|
+
if options.get("client_id") and options.get("client_secret") and options.get("tenant_id"):
|
|
87
|
+
oauth2_client_params = {
|
|
88
|
+
"client_id": options["client_id"],
|
|
89
|
+
"client_secret": options["client_secret"],
|
|
90
|
+
"tenant_id": options["tenant_id"],
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
# Add additional oauth2 parameters supported by authlib
|
|
94
|
+
oauth2_params = [
|
|
95
|
+
"scope",
|
|
96
|
+
"token_endpoint",
|
|
97
|
+
"redirect_uri",
|
|
98
|
+
"token_endpoint_auth_method",
|
|
99
|
+
"code_challenge_method",
|
|
100
|
+
"update_token",
|
|
101
|
+
"username",
|
|
102
|
+
"password",
|
|
103
|
+
]
|
|
104
|
+
for param in oauth2_params:
|
|
105
|
+
if param in options:
|
|
106
|
+
oauth2_client_params[param] = options[param]
|
|
107
|
+
|
|
108
|
+
# Determine which filesystem to return based on drive_id
|
|
109
|
+
drive_id = options.get("drive_id")
|
|
110
|
+
|
|
111
|
+
return MSGDriveFS(drive_id=drive_id, oauth2_client_params=oauth2_client_params)
|
|
@@ -191,7 +191,10 @@ def get_provider_info():
|
|
|
191
191
|
"python-modules": ["airflow.providers.microsoft.azure.sensors.msgraph"],
|
|
192
192
|
},
|
|
193
193
|
],
|
|
194
|
-
"filesystems": [
|
|
194
|
+
"filesystems": [
|
|
195
|
+
"airflow.providers.microsoft.azure.fs.adls",
|
|
196
|
+
"airflow.providers.microsoft.azure.fs.msgraphfs",
|
|
197
|
+
],
|
|
195
198
|
"hooks": [
|
|
196
199
|
{
|
|
197
200
|
"integration-name": "Microsoft Azure Container Instances",
|
|
@@ -34,11 +34,11 @@ from azure.kusto.data import ClientRequestProperties, KustoClient, KustoConnecti
|
|
|
34
34
|
from azure.kusto.data.exceptions import KustoServiceError
|
|
35
35
|
|
|
36
36
|
from airflow.exceptions import AirflowException
|
|
37
|
+
from airflow.providers.common.compat.sdk import BaseHook
|
|
37
38
|
from airflow.providers.microsoft.azure.utils import (
|
|
38
39
|
add_managed_identity_connection_widgets,
|
|
39
40
|
get_sync_default_azure_credential,
|
|
40
41
|
)
|
|
41
|
-
from airflow.providers.microsoft.azure.version_compat import BaseHook
|
|
42
42
|
|
|
43
43
|
if TYPE_CHECKING:
|
|
44
44
|
from azure.kusto.data.response import KustoResponseDataSet
|
|
@@ -37,12 +37,12 @@ from azure.servicebus.management import (
|
|
|
37
37
|
SubscriptionProperties,
|
|
38
38
|
)
|
|
39
39
|
|
|
40
|
+
from airflow.providers.common.compat.sdk import BaseHook
|
|
40
41
|
from airflow.providers.microsoft.azure.utils import (
|
|
41
42
|
add_managed_identity_connection_widgets,
|
|
42
43
|
get_field,
|
|
43
44
|
get_sync_default_azure_credential,
|
|
44
45
|
)
|
|
45
|
-
from airflow.providers.microsoft.azure.version_compat import BaseHook
|
|
46
46
|
|
|
47
47
|
if TYPE_CHECKING:
|
|
48
48
|
import datetime
|
|
@@ -16,17 +16,24 @@
|
|
|
16
16
|
# under the License.
|
|
17
17
|
from __future__ import annotations
|
|
18
18
|
|
|
19
|
-
from typing import Any
|
|
19
|
+
from typing import TYPE_CHECKING, Any
|
|
20
20
|
|
|
21
21
|
from azure.common.client_factory import get_client_from_auth_file, get_client_from_json_dict
|
|
22
22
|
from azure.common.credentials import ServicePrincipalCredentials
|
|
23
|
+
from azure.identity import ClientSecretCredential, DefaultAzureCredential
|
|
23
24
|
|
|
24
25
|
from airflow.exceptions import AirflowException
|
|
26
|
+
from airflow.providers.common.compat.sdk import BaseHook
|
|
25
27
|
from airflow.providers.microsoft.azure.utils import (
|
|
26
28
|
AzureIdentityCredentialAdapter,
|
|
27
29
|
add_managed_identity_connection_widgets,
|
|
30
|
+
get_sync_default_azure_credential,
|
|
28
31
|
)
|
|
29
|
-
|
|
32
|
+
|
|
33
|
+
if TYPE_CHECKING:
|
|
34
|
+
from azure.core.credentials import AccessToken
|
|
35
|
+
|
|
36
|
+
from airflow.sdk import Connection
|
|
30
37
|
|
|
31
38
|
|
|
32
39
|
class AzureBaseHook(BaseHook):
|
|
@@ -85,7 +92,7 @@ class AzureBaseHook(BaseHook):
|
|
|
85
92
|
},
|
|
86
93
|
}
|
|
87
94
|
|
|
88
|
-
def __init__(self, sdk_client: Any, conn_id: str = "azure_default"):
|
|
95
|
+
def __init__(self, sdk_client: Any = None, conn_id: str = "azure_default"):
|
|
89
96
|
self.sdk_client = sdk_client
|
|
90
97
|
self.conn_id = conn_id
|
|
91
98
|
super().__init__()
|
|
@@ -96,8 +103,9 @@ class AzureBaseHook(BaseHook):
|
|
|
96
103
|
|
|
97
104
|
:return: the authenticated client.
|
|
98
105
|
"""
|
|
106
|
+
if not self.sdk_client:
|
|
107
|
+
raise ValueError("`sdk_client` must be provided to AzureBaseHook to use `get_conn` method.")
|
|
99
108
|
conn = self.get_connection(self.conn_id)
|
|
100
|
-
tenant = conn.extra_dejson.get("tenantId")
|
|
101
109
|
subscription_id = conn.extra_dejson.get("subscriptionId")
|
|
102
110
|
key_path = conn.extra_dejson.get("key_path")
|
|
103
111
|
if key_path:
|
|
@@ -111,22 +119,90 @@ class AzureBaseHook(BaseHook):
|
|
|
111
119
|
self.log.info("Getting connection using a JSON config.")
|
|
112
120
|
return get_client_from_json_dict(client_class=self.sdk_client, config_dict=key_json)
|
|
113
121
|
|
|
114
|
-
credentials
|
|
122
|
+
credentials = self.get_credential(conn=conn)
|
|
123
|
+
|
|
124
|
+
return self.sdk_client(
|
|
125
|
+
credentials=credentials,
|
|
126
|
+
subscription_id=subscription_id,
|
|
127
|
+
)
|
|
128
|
+
|
|
129
|
+
def get_credential(
|
|
130
|
+
self, *, conn: Connection | None = None
|
|
131
|
+
) -> (
|
|
132
|
+
ServicePrincipalCredentials
|
|
133
|
+
| AzureIdentityCredentialAdapter
|
|
134
|
+
| ClientSecretCredential
|
|
135
|
+
| DefaultAzureCredential
|
|
136
|
+
):
|
|
137
|
+
"""
|
|
138
|
+
Get Azure credential object for the connection.
|
|
139
|
+
|
|
140
|
+
Azure Identity based credential object (``ClientSecretCredential``, ``DefaultAzureCredential``) can be used to get OAuth token using ``get_token`` method.
|
|
141
|
+
Older Credential objects (``ServicePrincipalCredentials``, ``AzureIdentityCredentialAdapter``) are supported for backward compatibility.
|
|
142
|
+
|
|
143
|
+
:return: The Azure credential object
|
|
144
|
+
"""
|
|
145
|
+
if not conn:
|
|
146
|
+
conn = self.get_connection(self.conn_id)
|
|
147
|
+
tenant = conn.extra_dejson.get("tenantId")
|
|
148
|
+
credential: (
|
|
149
|
+
ServicePrincipalCredentials
|
|
150
|
+
| AzureIdentityCredentialAdapter
|
|
151
|
+
| ClientSecretCredential
|
|
152
|
+
| DefaultAzureCredential
|
|
153
|
+
)
|
|
115
154
|
if all([conn.login, conn.password, tenant]):
|
|
116
|
-
self.
|
|
117
|
-
credentials = ServicePrincipalCredentials(
|
|
118
|
-
client_id=conn.login, secret=conn.password, tenant=tenant
|
|
119
|
-
)
|
|
155
|
+
credential = self._get_client_secret_credential(conn)
|
|
120
156
|
else:
|
|
121
|
-
self.
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
157
|
+
credential = self._get_default_azure_credential(conn)
|
|
158
|
+
return credential
|
|
159
|
+
|
|
160
|
+
def _get_client_secret_credential(
|
|
161
|
+
self, conn: Connection
|
|
162
|
+
) -> ServicePrincipalCredentials | ClientSecretCredential:
|
|
163
|
+
self.log.info("Getting credentials using specific credentials and subscription_id.")
|
|
164
|
+
extra_dejson = conn.extra_dejson
|
|
165
|
+
tenant = extra_dejson.get("tenantId")
|
|
166
|
+
use_azure_identity_object = extra_dejson.get("use_azure_identity_object", False)
|
|
167
|
+
if use_azure_identity_object:
|
|
168
|
+
return ClientSecretCredential(
|
|
169
|
+
client_id=conn.login, # type: ignore[arg-type]
|
|
170
|
+
client_secret=conn.password, # type: ignore[arg-type]
|
|
171
|
+
tenant_id=tenant, # type: ignore[arg-type]
|
|
172
|
+
)
|
|
173
|
+
return ServicePrincipalCredentials(client_id=conn.login, secret=conn.password, tenant=tenant)
|
|
174
|
+
|
|
175
|
+
def _get_default_azure_credential(
|
|
176
|
+
self, conn: Connection
|
|
177
|
+
) -> DefaultAzureCredential | AzureIdentityCredentialAdapter:
|
|
178
|
+
self.log.info("Using DefaultAzureCredential as credential")
|
|
179
|
+
extra_dejson = conn.extra_dejson
|
|
180
|
+
managed_identity_client_id = extra_dejson.get("managed_identity_client_id")
|
|
181
|
+
workload_identity_tenant_id = extra_dejson.get("workload_identity_tenant_id")
|
|
182
|
+
use_azure_identity_object = extra_dejson.get("use_azure_identity_object", False)
|
|
183
|
+
if use_azure_identity_object:
|
|
184
|
+
return get_sync_default_azure_credential(
|
|
125
185
|
managed_identity_client_id=managed_identity_client_id,
|
|
126
186
|
workload_identity_tenant_id=workload_identity_tenant_id,
|
|
127
187
|
)
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
subscription_id=subscription_id,
|
|
188
|
+
return AzureIdentityCredentialAdapter(
|
|
189
|
+
managed_identity_client_id=managed_identity_client_id,
|
|
190
|
+
workload_identity_tenant_id=workload_identity_tenant_id,
|
|
132
191
|
)
|
|
192
|
+
|
|
193
|
+
def get_token(self, *scopes, **kwargs) -> AccessToken:
|
|
194
|
+
"""
|
|
195
|
+
Request an access token for `scopes`.
|
|
196
|
+
|
|
197
|
+
To use this method, set `use_azure_identity_object: True` in the connection extra field.
|
|
198
|
+
ServicePrincipalCredentials and AzureIdentityCredentialAdapter don't support `get_token` method.
|
|
199
|
+
"""
|
|
200
|
+
credential = self.get_credential()
|
|
201
|
+
if isinstance(credential, ServicePrincipalCredentials) or isinstance(
|
|
202
|
+
credential, AzureIdentityCredentialAdapter
|
|
203
|
+
):
|
|
204
|
+
raise AttributeError(
|
|
205
|
+
"ServicePrincipalCredentials and AzureIdentityCredentialAdapter don't support get_token method. "
|
|
206
|
+
"Please set `use_azure_identity_object: True` in the connection extra field to use credential that support get_token method."
|
|
207
|
+
)
|
|
208
|
+
return credential.get_token(*scopes, **kwargs)
|
|
@@ -25,12 +25,12 @@ from typing import TYPE_CHECKING, Any
|
|
|
25
25
|
from azure.batch import BatchServiceClient, batch_auth, models as batch_models
|
|
26
26
|
|
|
27
27
|
from airflow.exceptions import AirflowException
|
|
28
|
+
from airflow.providers.common.compat.sdk import BaseHook
|
|
28
29
|
from airflow.providers.microsoft.azure.utils import (
|
|
29
30
|
AzureIdentityCredentialAdapter,
|
|
30
31
|
add_managed_identity_connection_widgets,
|
|
31
32
|
get_field,
|
|
32
33
|
)
|
|
33
|
-
from airflow.providers.microsoft.azure.version_compat import BaseHook
|
|
34
34
|
from airflow.utils import timezone
|
|
35
35
|
|
|
36
36
|
if TYPE_CHECKING:
|
|
@@ -25,12 +25,12 @@ from typing import Any, cast
|
|
|
25
25
|
from azure.mgmt.containerinstance.models import ImageRegistryCredential
|
|
26
26
|
from azure.mgmt.containerregistry import ContainerRegistryManagementClient
|
|
27
27
|
|
|
28
|
+
from airflow.providers.common.compat.sdk import BaseHook
|
|
28
29
|
from airflow.providers.microsoft.azure.utils import (
|
|
29
30
|
add_managed_identity_connection_widgets,
|
|
30
31
|
get_field,
|
|
31
32
|
get_sync_default_azure_credential,
|
|
32
33
|
)
|
|
33
|
-
from airflow.providers.microsoft.azure.version_compat import BaseHook
|
|
34
34
|
|
|
35
35
|
|
|
36
36
|
class AzureContainerRegistryHook(BaseHook):
|
|
@@ -21,12 +21,12 @@ from typing import Any, cast
|
|
|
21
21
|
from azure.mgmt.containerinstance.models import AzureFileVolume, Volume
|
|
22
22
|
from azure.mgmt.storage import StorageManagementClient
|
|
23
23
|
|
|
24
|
+
from airflow.providers.common.compat.sdk import BaseHook
|
|
24
25
|
from airflow.providers.microsoft.azure.utils import (
|
|
25
26
|
add_managed_identity_connection_widgets,
|
|
26
27
|
get_field,
|
|
27
28
|
get_sync_default_azure_credential,
|
|
28
29
|
)
|
|
29
|
-
from airflow.providers.microsoft.azure.version_compat import BaseHook
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
class AzureContainerVolumeHook(BaseHook):
|
|
@@ -36,12 +36,12 @@ from azure.cosmos.exceptions import CosmosHttpResponseError
|
|
|
36
36
|
from azure.mgmt.cosmosdb import CosmosDBManagementClient
|
|
37
37
|
|
|
38
38
|
from airflow.exceptions import AirflowBadRequest, AirflowException
|
|
39
|
+
from airflow.providers.common.compat.sdk import BaseHook
|
|
39
40
|
from airflow.providers.microsoft.azure.utils import (
|
|
40
41
|
add_managed_identity_connection_widgets,
|
|
41
42
|
get_field,
|
|
42
43
|
get_sync_default_azure_credential,
|
|
43
44
|
)
|
|
44
|
-
from airflow.providers.microsoft.azure.version_compat import BaseHook
|
|
45
45
|
|
|
46
46
|
if TYPE_CHECKING:
|
|
47
47
|
PartitionKeyType = str | list[str]
|
|
@@ -49,12 +49,12 @@ from azure.mgmt.datafactory import DataFactoryManagementClient
|
|
|
49
49
|
from azure.mgmt.datafactory.aio import DataFactoryManagementClient as AsyncDataFactoryManagementClient
|
|
50
50
|
|
|
51
51
|
from airflow.exceptions import AirflowException
|
|
52
|
+
from airflow.providers.common.compat.sdk import BaseHook
|
|
52
53
|
from airflow.providers.microsoft.azure.utils import (
|
|
53
54
|
add_managed_identity_connection_widgets,
|
|
54
55
|
get_async_default_azure_credential,
|
|
55
56
|
get_sync_default_azure_credential,
|
|
56
57
|
)
|
|
57
|
-
from airflow.providers.microsoft.azure.version_compat import BaseHook
|
|
58
58
|
|
|
59
59
|
if TYPE_CHECKING:
|
|
60
60
|
from azure.core.polling import LROPoller
|
|
@@ -1214,7 +1214,4 @@ class AzureDataFactoryAsyncHook(AzureDataFactoryHook):
|
|
|
1214
1214
|
:param config: Extra parameters for the ADF client.
|
|
1215
1215
|
"""
|
|
1216
1216
|
client = await self.get_async_conn()
|
|
1217
|
-
|
|
1218
|
-
await client.pipeline_runs.cancel(resource_group_name, factory_name, run_id)
|
|
1219
|
-
except Exception as e:
|
|
1220
|
-
raise AirflowException(e)
|
|
1217
|
+
await client.pipeline_runs.cancel(resource_group_name, factory_name, run_id)
|
|
@@ -33,13 +33,13 @@ from azure.storage.filedatalake import (
|
|
|
33
33
|
)
|
|
34
34
|
|
|
35
35
|
from airflow.exceptions import AirflowException
|
|
36
|
+
from airflow.providers.common.compat.sdk import BaseHook
|
|
36
37
|
from airflow.providers.microsoft.azure.utils import (
|
|
37
38
|
AzureIdentityCredentialAdapter,
|
|
38
39
|
add_managed_identity_connection_widgets,
|
|
39
40
|
get_field,
|
|
40
41
|
get_sync_default_azure_credential,
|
|
41
42
|
)
|
|
42
|
-
from airflow.providers.microsoft.azure.version_compat import BaseHook
|
|
43
43
|
|
|
44
44
|
Credentials = ClientSecretCredential | AzureIdentityCredentialAdapter | DefaultAzureCredential
|
|
45
45
|
|
|
@@ -21,11 +21,11 @@ from typing import IO, Any
|
|
|
21
21
|
|
|
22
22
|
from azure.storage.fileshare import FileProperties, ShareDirectoryClient, ShareFileClient, ShareServiceClient
|
|
23
23
|
|
|
24
|
+
from airflow.providers.common.compat.sdk import BaseHook
|
|
24
25
|
from airflow.providers.microsoft.azure.utils import (
|
|
25
26
|
add_managed_identity_connection_widgets,
|
|
26
27
|
get_sync_default_azure_credential,
|
|
27
28
|
)
|
|
28
|
-
from airflow.providers.microsoft.azure.version_compat import BaseHook
|
|
29
29
|
|
|
30
30
|
|
|
31
31
|
class AzureFileShareHook(BaseHook):
|
|
@@ -53,7 +53,7 @@ from airflow.exceptions import (
|
|
|
53
53
|
AirflowNotFoundException,
|
|
54
54
|
AirflowProviderDeprecationWarning,
|
|
55
55
|
)
|
|
56
|
-
from airflow.providers.
|
|
56
|
+
from airflow.providers.common.compat.sdk import BaseHook
|
|
57
57
|
|
|
58
58
|
if TYPE_CHECKING:
|
|
59
59
|
from azure.identity._internal.client_credential_base import ClientCredentialBase
|
|
@@ -61,7 +61,7 @@ if TYPE_CHECKING:
|
|
|
61
61
|
from kiota_abstractions.response_handler import NativeResponseType
|
|
62
62
|
from kiota_abstractions.serialization import ParsableFactory
|
|
63
63
|
|
|
64
|
-
from airflow.providers.
|
|
64
|
+
from airflow.providers.common.compat.sdk import Connection
|
|
65
65
|
|
|
66
66
|
|
|
67
67
|
class DefaultResponseHandler(ResponseHandler):
|
|
@@ -152,6 +152,7 @@ class KiotaRequestAdapterHook(BaseHook):
|
|
|
152
152
|
|
|
153
153
|
return {
|
|
154
154
|
"tenant_id": StringField(lazy_gettext("Tenant ID"), widget=BS3TextFieldWidget()),
|
|
155
|
+
"drive_id": StringField(lazy_gettext("Drive ID"), widget=BS3TextFieldWidget()),
|
|
155
156
|
"api_version": StringField(
|
|
156
157
|
lazy_gettext("API Version"), widget=BS3TextFieldWidget(), default=APIVersion.v1.value
|
|
157
158
|
),
|
|
@@ -25,12 +25,12 @@ from azure.synapse.artifacts import ArtifactsClient
|
|
|
25
25
|
from azure.synapse.spark import SparkClient
|
|
26
26
|
|
|
27
27
|
from airflow.exceptions import AirflowException, AirflowTaskTimeout
|
|
28
|
+
from airflow.providers.common.compat.sdk import BaseHook
|
|
28
29
|
from airflow.providers.microsoft.azure.utils import (
|
|
29
30
|
add_managed_identity_connection_widgets,
|
|
30
31
|
get_field,
|
|
31
32
|
get_sync_default_azure_credential,
|
|
32
33
|
)
|
|
33
|
-
from airflow.providers.microsoft.azure.version_compat import BaseHook
|
|
34
34
|
|
|
35
35
|
if TYPE_CHECKING:
|
|
36
36
|
from azure.synapse.artifacts.models import CreateRunResponse, PipelineRun
|
|
@@ -45,13 +45,13 @@ from azure.storage.blob.aio import (
|
|
|
45
45
|
)
|
|
46
46
|
|
|
47
47
|
from airflow.exceptions import AirflowException
|
|
48
|
+
from airflow.providers.common.compat.sdk import BaseHook
|
|
48
49
|
from airflow.providers.microsoft.azure.utils import (
|
|
49
50
|
add_managed_identity_connection_widgets,
|
|
50
51
|
get_async_default_azure_credential,
|
|
51
52
|
get_sync_default_azure_credential,
|
|
52
53
|
parse_blob_account_url,
|
|
53
54
|
)
|
|
54
|
-
from airflow.providers.microsoft.azure.version_compat import BaseHook
|
|
55
55
|
|
|
56
56
|
if TYPE_CHECKING:
|
|
57
57
|
from azure.core.credentials import TokenCredential
|
|
@@ -19,8 +19,8 @@ from __future__ import annotations
|
|
|
19
19
|
from collections.abc import Iterable, Sequence
|
|
20
20
|
from typing import IO, TYPE_CHECKING, Any, AnyStr
|
|
21
21
|
|
|
22
|
+
from airflow.providers.common.compat.sdk import BaseOperator
|
|
22
23
|
from airflow.providers.microsoft.azure.hooks.data_lake import AzureDataLakeHook, AzureDataLakeStorageV2Hook
|
|
23
|
-
from airflow.providers.microsoft.azure.version_compat import BaseOperator
|
|
24
24
|
|
|
25
25
|
if TYPE_CHECKING:
|
|
26
26
|
from airflow.utils.context import Context
|
|
@@ -24,8 +24,8 @@ from functools import cached_property
|
|
|
24
24
|
from typing import TYPE_CHECKING
|
|
25
25
|
|
|
26
26
|
from airflow.configuration import conf
|
|
27
|
+
from airflow.providers.common.compat.sdk import BaseOperator
|
|
27
28
|
from airflow.providers.microsoft.azure.hooks.adx import AzureDataExplorerHook
|
|
28
|
-
from airflow.providers.microsoft.azure.version_compat import BaseOperator
|
|
29
29
|
|
|
30
30
|
if TYPE_CHECKING:
|
|
31
31
|
from azure.kusto.data._models import KustoResultTable
|
|
@@ -20,8 +20,8 @@ from collections.abc import Callable, Sequence
|
|
|
20
20
|
from typing import TYPE_CHECKING, Any
|
|
21
21
|
from uuid import UUID
|
|
22
22
|
|
|
23
|
+
from airflow.providers.common.compat.sdk import BaseOperator
|
|
23
24
|
from airflow.providers.microsoft.azure.hooks.asb import AdminClientHook, MessageHook
|
|
24
|
-
from airflow.providers.microsoft.azure.version_compat import BaseOperator
|
|
25
25
|
|
|
26
26
|
if TYPE_CHECKING:
|
|
27
27
|
import datetime
|
|
@@ -24,8 +24,8 @@ from typing import TYPE_CHECKING, Any
|
|
|
24
24
|
from azure.batch import models as batch_models
|
|
25
25
|
|
|
26
26
|
from airflow.exceptions import AirflowException
|
|
27
|
+
from airflow.providers.common.compat.sdk import BaseOperator
|
|
27
28
|
from airflow.providers.microsoft.azure.hooks.batch import AzureBatchHook
|
|
28
|
-
from airflow.providers.microsoft.azure.version_compat import BaseOperator
|
|
29
29
|
|
|
30
30
|
if TYPE_CHECKING:
|
|
31
31
|
from airflow.utils.context import Context
|
|
@@ -40,10 +40,10 @@ from azure.mgmt.containerinstance.models import (
|
|
|
40
40
|
from msrestazure.azure_exceptions import CloudError
|
|
41
41
|
|
|
42
42
|
from airflow.exceptions import AirflowException, AirflowTaskTimeout
|
|
43
|
+
from airflow.providers.common.compat.sdk import BaseOperator
|
|
43
44
|
from airflow.providers.microsoft.azure.hooks.container_instance import AzureContainerInstanceHook
|
|
44
45
|
from airflow.providers.microsoft.azure.hooks.container_registry import AzureContainerRegistryHook
|
|
45
46
|
from airflow.providers.microsoft.azure.hooks.container_volume import AzureContainerVolumeHook
|
|
46
|
-
from airflow.providers.microsoft.azure.version_compat import BaseOperator
|
|
47
47
|
|
|
48
48
|
if TYPE_CHECKING:
|
|
49
49
|
from airflow.utils.context import Context
|
|
@@ -20,8 +20,8 @@ from __future__ import annotations
|
|
|
20
20
|
from collections.abc import Sequence
|
|
21
21
|
from typing import TYPE_CHECKING
|
|
22
22
|
|
|
23
|
+
from airflow.providers.common.compat.sdk import BaseOperator
|
|
23
24
|
from airflow.providers.microsoft.azure.hooks.cosmos import AzureCosmosDBHook
|
|
24
|
-
from airflow.providers.microsoft.azure.version_compat import BaseOperator
|
|
25
25
|
|
|
26
26
|
if TYPE_CHECKING:
|
|
27
27
|
from airflow.utils.context import Context
|
|
@@ -24,6 +24,7 @@ from typing import TYPE_CHECKING, Any
|
|
|
24
24
|
|
|
25
25
|
from airflow.configuration import conf
|
|
26
26
|
from airflow.exceptions import AirflowException
|
|
27
|
+
from airflow.providers.common.compat.sdk import BaseHook, BaseOperator, BaseOperatorLink, XCom
|
|
27
28
|
from airflow.providers.microsoft.azure.hooks.data_factory import (
|
|
28
29
|
AzureDataFactoryHook,
|
|
29
30
|
AzureDataFactoryPipelineRunException,
|
|
@@ -31,25 +32,12 @@ from airflow.providers.microsoft.azure.hooks.data_factory import (
|
|
|
31
32
|
get_field,
|
|
32
33
|
)
|
|
33
34
|
from airflow.providers.microsoft.azure.triggers.data_factory import AzureDataFactoryTrigger
|
|
34
|
-
from airflow.providers.microsoft.azure.version_compat import (
|
|
35
|
-
BaseHook,
|
|
36
|
-
BaseOperator,
|
|
37
|
-
)
|
|
38
35
|
from airflow.utils.log.logging_mixin import LoggingMixin
|
|
39
36
|
|
|
40
37
|
if TYPE_CHECKING:
|
|
41
38
|
from airflow.models.taskinstancekey import TaskInstanceKey
|
|
42
39
|
from airflow.utils.context import Context
|
|
43
40
|
|
|
44
|
-
from airflow.providers.microsoft.azure.version_compat import AIRFLOW_V_3_0_PLUS
|
|
45
|
-
|
|
46
|
-
if AIRFLOW_V_3_0_PLUS:
|
|
47
|
-
from airflow.sdk import BaseOperatorLink
|
|
48
|
-
from airflow.sdk.execution_time.xcom import XCom
|
|
49
|
-
else:
|
|
50
|
-
from airflow.models import XCom
|
|
51
|
-
from airflow.models.baseoperatorlink import BaseOperatorLink # type: ignore[no-redef]
|
|
52
|
-
|
|
53
41
|
|
|
54
42
|
class AzureDataFactoryPipelineRunLink(LoggingMixin, BaseOperatorLink):
|
|
55
43
|
"""Construct a link to monitor a pipeline run in Azure Data Factory."""
|
|
@@ -27,12 +27,12 @@ from typing import (
|
|
|
27
27
|
)
|
|
28
28
|
|
|
29
29
|
from airflow.exceptions import AirflowException, AirflowProviderDeprecationWarning, TaskDeferred
|
|
30
|
+
from airflow.providers.common.compat.sdk import XCOM_RETURN_KEY, BaseOperator
|
|
30
31
|
from airflow.providers.microsoft.azure.hooks.msgraph import KiotaRequestAdapterHook
|
|
31
32
|
from airflow.providers.microsoft.azure.triggers.msgraph import (
|
|
32
33
|
MSGraphTrigger,
|
|
33
34
|
ResponseSerializer,
|
|
34
35
|
)
|
|
35
|
-
from airflow.providers.microsoft.azure.version_compat import XCOM_RETURN_KEY, BaseOperator
|
|
36
36
|
|
|
37
37
|
if TYPE_CHECKING:
|
|
38
38
|
from io import BytesIO
|
|
@@ -21,16 +21,13 @@ from collections.abc import Sequence
|
|
|
21
21
|
from typing import TYPE_CHECKING, Any
|
|
22
22
|
|
|
23
23
|
from airflow.exceptions import AirflowException
|
|
24
|
+
from airflow.providers.common.compat.sdk import BaseOperator, BaseOperatorLink
|
|
24
25
|
from airflow.providers.microsoft.azure.hooks.powerbi import PowerBIHook
|
|
25
26
|
from airflow.providers.microsoft.azure.triggers.powerbi import (
|
|
26
27
|
PowerBIDatasetListTrigger,
|
|
27
28
|
PowerBITrigger,
|
|
28
29
|
PowerBIWorkspaceListTrigger,
|
|
29
30
|
)
|
|
30
|
-
from airflow.providers.microsoft.azure.version_compat import (
|
|
31
|
-
BaseOperator,
|
|
32
|
-
BaseOperatorLink,
|
|
33
|
-
)
|
|
34
31
|
|
|
35
32
|
if TYPE_CHECKING:
|
|
36
33
|
from msgraph_core import APIVersion
|
|
@@ -22,6 +22,7 @@ from typing import TYPE_CHECKING, Any
|
|
|
22
22
|
from urllib.parse import urlencode
|
|
23
23
|
|
|
24
24
|
from airflow.exceptions import AirflowException
|
|
25
|
+
from airflow.providers.common.compat.sdk import BaseHook, BaseOperator, BaseOperatorLink, XCom
|
|
25
26
|
from airflow.providers.microsoft.azure.hooks.synapse import (
|
|
26
27
|
AzureSynapseHook,
|
|
27
28
|
AzureSynapsePipelineHook,
|
|
@@ -29,10 +30,6 @@ from airflow.providers.microsoft.azure.hooks.synapse import (
|
|
|
29
30
|
AzureSynapsePipelineRunStatus,
|
|
30
31
|
AzureSynapseSparkBatchRunStatus,
|
|
31
32
|
)
|
|
32
|
-
from airflow.providers.microsoft.azure.version_compat import (
|
|
33
|
-
BaseHook,
|
|
34
|
-
BaseOperator,
|
|
35
|
-
)
|
|
36
33
|
|
|
37
34
|
if TYPE_CHECKING:
|
|
38
35
|
from azure.synapse.spark.models import SparkBatchJobOptions
|
|
@@ -40,15 +37,6 @@ if TYPE_CHECKING:
|
|
|
40
37
|
from airflow.models.taskinstancekey import TaskInstanceKey
|
|
41
38
|
from airflow.utils.context import Context
|
|
42
39
|
|
|
43
|
-
from airflow.providers.microsoft.azure.version_compat import AIRFLOW_V_3_0_PLUS
|
|
44
|
-
|
|
45
|
-
if AIRFLOW_V_3_0_PLUS:
|
|
46
|
-
from airflow.sdk import BaseOperatorLink
|
|
47
|
-
from airflow.sdk.execution_time.xcom import XCom
|
|
48
|
-
else:
|
|
49
|
-
from airflow.models import XCom
|
|
50
|
-
from airflow.models.baseoperatorlink import BaseOperatorLink # type: ignore[no-redef]
|
|
51
|
-
|
|
52
40
|
|
|
53
41
|
class AzureSynapseRunSparkBatchOperator(BaseOperator):
|
|
54
42
|
"""
|
|
@@ -20,8 +20,8 @@ from __future__ import annotations
|
|
|
20
20
|
from collections.abc import Sequence
|
|
21
21
|
from typing import TYPE_CHECKING, Any
|
|
22
22
|
|
|
23
|
+
from airflow.providers.common.compat.sdk import BaseOperator
|
|
23
24
|
from airflow.providers.microsoft.azure.hooks.wasb import WasbHook
|
|
24
|
-
from airflow.providers.microsoft.azure.version_compat import BaseOperator
|
|
25
25
|
|
|
26
26
|
if TYPE_CHECKING:
|
|
27
27
|
from airflow.utils.context import Context
|
|
@@ -20,13 +20,8 @@ from __future__ import annotations
|
|
|
20
20
|
from collections.abc import Sequence
|
|
21
21
|
from typing import TYPE_CHECKING
|
|
22
22
|
|
|
23
|
+
from airflow.providers.common.compat.sdk import BaseSensorOperator
|
|
23
24
|
from airflow.providers.microsoft.azure.hooks.cosmos import AzureCosmosDBHook
|
|
24
|
-
from airflow.providers.microsoft.azure.version_compat import AIRFLOW_V_3_0_PLUS
|
|
25
|
-
|
|
26
|
-
if AIRFLOW_V_3_0_PLUS:
|
|
27
|
-
from airflow.sdk import BaseSensorOperator
|
|
28
|
-
else:
|
|
29
|
-
from airflow.sensors.base import BaseSensorOperator # type: ignore[no-redef]
|
|
30
25
|
|
|
31
26
|
if TYPE_CHECKING:
|
|
32
27
|
from airflow.utils.context import Context
|
|
@@ -23,18 +23,13 @@ from typing import TYPE_CHECKING
|
|
|
23
23
|
|
|
24
24
|
from airflow.configuration import conf
|
|
25
25
|
from airflow.exceptions import AirflowException
|
|
26
|
+
from airflow.providers.common.compat.sdk import BaseSensorOperator
|
|
26
27
|
from airflow.providers.microsoft.azure.hooks.data_factory import (
|
|
27
28
|
AzureDataFactoryHook,
|
|
28
29
|
AzureDataFactoryPipelineRunException,
|
|
29
30
|
AzureDataFactoryPipelineRunStatus,
|
|
30
31
|
)
|
|
31
32
|
from airflow.providers.microsoft.azure.triggers.data_factory import ADFPipelineRunStatusSensorTrigger
|
|
32
|
-
from airflow.providers.microsoft.azure.version_compat import AIRFLOW_V_3_0_PLUS
|
|
33
|
-
|
|
34
|
-
if AIRFLOW_V_3_0_PLUS:
|
|
35
|
-
from airflow.sdk.bases.sensor import BaseSensorOperator
|
|
36
|
-
else:
|
|
37
|
-
from airflow.sensors.base import BaseSensorOperator # type: ignore[no-redef]
|
|
38
33
|
|
|
39
34
|
if TYPE_CHECKING:
|
|
40
35
|
from airflow.utils.context import Context
|
|
@@ -21,11 +21,11 @@ from collections.abc import Callable, Sequence
|
|
|
21
21
|
from typing import TYPE_CHECKING, Any
|
|
22
22
|
|
|
23
23
|
from airflow.exceptions import AirflowException
|
|
24
|
+
from airflow.providers.common.compat.sdk import BaseSensorOperator
|
|
24
25
|
from airflow.providers.common.compat.standard.triggers import TimeDeltaTrigger
|
|
25
26
|
from airflow.providers.microsoft.azure.hooks.msgraph import KiotaRequestAdapterHook
|
|
26
27
|
from airflow.providers.microsoft.azure.operators.msgraph import execute_callable
|
|
27
28
|
from airflow.providers.microsoft.azure.triggers.msgraph import MSGraphTrigger, ResponseSerializer
|
|
28
|
-
from airflow.providers.microsoft.azure.version_compat import BaseSensorOperator
|
|
29
29
|
|
|
30
30
|
if TYPE_CHECKING:
|
|
31
31
|
from datetime import timedelta
|
|
@@ -23,14 +23,9 @@ from typing import TYPE_CHECKING
|
|
|
23
23
|
|
|
24
24
|
from airflow.configuration import conf
|
|
25
25
|
from airflow.exceptions import AirflowException
|
|
26
|
+
from airflow.providers.common.compat.sdk import BaseSensorOperator
|
|
26
27
|
from airflow.providers.microsoft.azure.hooks.wasb import WasbHook
|
|
27
28
|
from airflow.providers.microsoft.azure.triggers.wasb import WasbBlobSensorTrigger, WasbPrefixSensorTrigger
|
|
28
|
-
from airflow.providers.microsoft.azure.version_compat import AIRFLOW_V_3_0_PLUS
|
|
29
|
-
|
|
30
|
-
if AIRFLOW_V_3_0_PLUS:
|
|
31
|
-
from airflow.sdk import BaseSensorOperator
|
|
32
|
-
else:
|
|
33
|
-
from airflow.sensors.base import BaseSensorOperator # type: ignore[no-redef]
|
|
34
29
|
|
|
35
30
|
if TYPE_CHECKING:
|
|
36
31
|
from airflow.utils.context import Context
|
|
@@ -20,8 +20,8 @@ from collections.abc import Sequence
|
|
|
20
20
|
from typing import TYPE_CHECKING, Any
|
|
21
21
|
|
|
22
22
|
from airflow.exceptions import AirflowException
|
|
23
|
+
from airflow.providers.common.compat.sdk import BaseOperator
|
|
23
24
|
from airflow.providers.microsoft.azure.hooks.data_lake import AzureDataLakeHook
|
|
24
|
-
from airflow.providers.microsoft.azure.version_compat import BaseOperator
|
|
25
25
|
|
|
26
26
|
if TYPE_CHECKING:
|
|
27
27
|
from airflow.utils.context import Context
|
|
@@ -20,8 +20,8 @@ from __future__ import annotations
|
|
|
20
20
|
from collections.abc import Sequence
|
|
21
21
|
from typing import TYPE_CHECKING
|
|
22
22
|
|
|
23
|
+
from airflow.providers.common.compat.sdk import BaseOperator
|
|
23
24
|
from airflow.providers.microsoft.azure.hooks.wasb import WasbHook
|
|
24
|
-
from airflow.providers.microsoft.azure.version_compat import BaseOperator
|
|
25
25
|
|
|
26
26
|
if TYPE_CHECKING:
|
|
27
27
|
from airflow.utils.context import Context
|
|
@@ -23,8 +23,8 @@ from collections.abc import Sequence
|
|
|
23
23
|
from tempfile import TemporaryDirectory
|
|
24
24
|
from typing import TYPE_CHECKING, Any, Literal
|
|
25
25
|
|
|
26
|
+
from airflow.providers.common.compat.sdk import BaseOperator
|
|
26
27
|
from airflow.providers.microsoft.azure.hooks.data_lake import AzureDataLakeHook
|
|
27
|
-
from airflow.providers.microsoft.azure.version_compat import BaseOperator
|
|
28
28
|
from airflow.providers.oracle.hooks.oracle import OracleHook
|
|
29
29
|
|
|
30
30
|
if TYPE_CHECKING:
|
|
@@ -23,8 +23,8 @@ from functools import cached_property
|
|
|
23
23
|
from typing import TYPE_CHECKING
|
|
24
24
|
|
|
25
25
|
from airflow.providers.amazon.aws.hooks.s3 import S3Hook
|
|
26
|
+
from airflow.providers.common.compat.sdk import BaseOperator
|
|
26
27
|
from airflow.providers.microsoft.azure.hooks.wasb import WasbHook
|
|
27
|
-
from airflow.providers.microsoft.azure.version_compat import BaseOperator
|
|
28
28
|
|
|
29
29
|
if TYPE_CHECKING:
|
|
30
30
|
from airflow.utils.context import Context
|
|
@@ -30,7 +30,7 @@ if TYPE_CHECKING:
|
|
|
30
30
|
from airflow.utils.context import Context
|
|
31
31
|
|
|
32
32
|
from airflow.exceptions import AirflowException
|
|
33
|
-
from airflow.
|
|
33
|
+
from airflow.providers.common.compat.sdk import BaseOperator
|
|
34
34
|
from airflow.providers.microsoft.azure.hooks.wasb import WasbHook
|
|
35
35
|
from airflow.providers.microsoft.azure.version_compat import AIRFLOW_V_3_0_PLUS
|
|
36
36
|
from airflow.providers.sftp.hooks.sftp import SFTPHook
|
|
@@ -229,14 +229,15 @@ class AzureDataFactoryTrigger(BaseTrigger):
|
|
|
229
229
|
}
|
|
230
230
|
)
|
|
231
231
|
except Exception as e:
|
|
232
|
+
self.log.exception(e)
|
|
232
233
|
if self.run_id:
|
|
233
234
|
try:
|
|
235
|
+
self.log.info("Cancelling pipeline run %s", self.run_id)
|
|
234
236
|
await hook.cancel_pipeline_run(
|
|
235
237
|
run_id=self.run_id,
|
|
236
238
|
resource_group_name=self.resource_group_name,
|
|
237
239
|
factory_name=self.factory_name,
|
|
238
240
|
)
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
yield TriggerEvent({"status": "error", "message": str(err), "run_id": self.run_id})
|
|
241
|
+
except Exception:
|
|
242
|
+
self.log.exception("Failed to cancel pipeline run %s", self.run_id)
|
|
242
243
|
yield TriggerEvent({"status": "error", "message": str(e), "run_id": self.run_id})
|
|
@@ -35,36 +35,7 @@ def get_base_airflow_version_tuple() -> tuple[int, int, int]:
|
|
|
35
35
|
AIRFLOW_V_3_0_PLUS = get_base_airflow_version_tuple() >= (3, 0, 0)
|
|
36
36
|
AIRFLOW_V_3_1_PLUS = get_base_airflow_version_tuple() >= (3, 1, 0)
|
|
37
37
|
|
|
38
|
-
if AIRFLOW_V_3_0_PLUS:
|
|
39
|
-
from airflow.sdk import (
|
|
40
|
-
BaseOperator,
|
|
41
|
-
BaseOperatorLink,
|
|
42
|
-
BaseSensorOperator,
|
|
43
|
-
Connection,
|
|
44
|
-
Context,
|
|
45
|
-
)
|
|
46
|
-
else:
|
|
47
|
-
from airflow.models import BaseOperator, BaseOperatorLink, Connection # type: ignore[assignment]
|
|
48
|
-
from airflow.sensors.base import BaseSensorOperator # type: ignore[no-redef]
|
|
49
|
-
from airflow.utils.context import Context # type: ignore[no-redef]
|
|
50
|
-
|
|
51
|
-
if AIRFLOW_V_3_1_PLUS:
|
|
52
|
-
from airflow.sdk.bases.xcom import BaseXCom
|
|
53
|
-
|
|
54
|
-
XCOM_RETURN_KEY = BaseXCom.XCOM_RETURN_KEY
|
|
55
|
-
from airflow.sdk import BaseHook
|
|
56
|
-
else:
|
|
57
|
-
from airflow.hooks.base import BaseHook # type: ignore[attr-defined,no-redef]
|
|
58
|
-
from airflow.utils.xcom import XCOM_RETURN_KEY # type: ignore[no-redef]
|
|
59
|
-
|
|
60
38
|
__all__ = [
|
|
61
39
|
"AIRFLOW_V_3_0_PLUS",
|
|
62
40
|
"AIRFLOW_V_3_1_PLUS",
|
|
63
|
-
"BaseHook",
|
|
64
|
-
"BaseOperator",
|
|
65
|
-
"BaseOperatorLink",
|
|
66
|
-
"BaseSensorOperator",
|
|
67
|
-
"Connection",
|
|
68
|
-
"Context",
|
|
69
|
-
"XCOM_RETURN_KEY",
|
|
70
41
|
]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: apache-airflow-providers-microsoft-azure
|
|
3
|
-
Version: 12.
|
|
3
|
+
Version: 12.8.0rc1
|
|
4
4
|
Summary: Provider package apache-airflow-providers-microsoft-azure for Apache Airflow
|
|
5
5
|
Keywords: airflow-provider,microsoft.azure,airflow,integration
|
|
6
6
|
Author-email: Apache Software Foundation <dev@airflow.apache.org>
|
|
@@ -20,7 +20,8 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
20
20
|
Classifier: Programming Language :: Python :: 3.12
|
|
21
21
|
Classifier: Programming Language :: Python :: 3.13
|
|
22
22
|
Classifier: Topic :: System :: Monitoring
|
|
23
|
-
Requires-Dist: apache-airflow>=2.10.
|
|
23
|
+
Requires-Dist: apache-airflow>=2.10.0rc1
|
|
24
|
+
Requires-Dist: apache-airflow-providers-common-compat>=1.8.0rc1
|
|
24
25
|
Requires-Dist: adlfs>=2023.10.0
|
|
25
26
|
Requires-Dist: azure-batch>=8.0.0
|
|
26
27
|
Requires-Dist: azure-cosmos>=4.6.0
|
|
@@ -43,6 +44,7 @@ Requires-Dist: azure-mgmt-datafactory>=2.0.0
|
|
|
43
44
|
Requires-Dist: azure-mgmt-containerregistry>=8.0.0
|
|
44
45
|
Requires-Dist: azure-mgmt-containerinstance>=10.1.0
|
|
45
46
|
Requires-Dist: msgraph-core>=1.3.3
|
|
47
|
+
Requires-Dist: msgraphfs>=0.3.0
|
|
46
48
|
Requires-Dist: microsoft-kiota-http>=1.9.4,<2.0.0
|
|
47
49
|
Requires-Dist: microsoft-kiota-serialization-json>=1.9.4
|
|
48
50
|
Requires-Dist: microsoft-kiota-serialization-text>=1.9.4
|
|
@@ -54,8 +56,8 @@ Requires-Dist: apache-airflow-providers-common-compat ; extra == "common-compat"
|
|
|
54
56
|
Requires-Dist: apache-airflow-providers-oracle ; extra == "oracle"
|
|
55
57
|
Requires-Dist: apache-airflow-providers-sftp ; extra == "sftp"
|
|
56
58
|
Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
|
|
57
|
-
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-microsoft-azure/12.
|
|
58
|
-
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-microsoft-azure/12.
|
|
59
|
+
Project-URL: Changelog, https://airflow.staged.apache.org/docs/apache-airflow-providers-microsoft-azure/12.8.0/changelog.html
|
|
60
|
+
Project-URL: Documentation, https://airflow.staged.apache.org/docs/apache-airflow-providers-microsoft-azure/12.8.0
|
|
59
61
|
Project-URL: Mastodon, https://fosstodon.org/@airflow
|
|
60
62
|
Project-URL: Slack Chat, https://s.apache.org/airflow-slack
|
|
61
63
|
Project-URL: Source Code, https://github.com/apache/airflow
|
|
@@ -90,7 +92,7 @@ Provides-Extra: sftp
|
|
|
90
92
|
|
|
91
93
|
Package ``apache-airflow-providers-microsoft-azure``
|
|
92
94
|
|
|
93
|
-
Release: ``12.
|
|
95
|
+
Release: ``12.8.0``
|
|
94
96
|
|
|
95
97
|
|
|
96
98
|
`Microsoft Azure <https://azure.microsoft.com/>`__
|
|
@@ -103,7 +105,7 @@ This is a provider package for ``microsoft.azure`` provider. All classes for thi
|
|
|
103
105
|
are in ``airflow.providers.microsoft.azure`` python package.
|
|
104
106
|
|
|
105
107
|
You can find package information and changelog for the provider
|
|
106
|
-
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-microsoft-azure/12.
|
|
108
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-microsoft-azure/12.8.0/>`_.
|
|
107
109
|
|
|
108
110
|
Installation
|
|
109
111
|
------------
|
|
@@ -117,39 +119,41 @@ The package supports the following python versions: 3.10,3.11,3.12,3.13
|
|
|
117
119
|
Requirements
|
|
118
120
|
------------
|
|
119
121
|
|
|
120
|
-
|
|
121
|
-
PIP package
|
|
122
|
-
|
|
123
|
-
``apache-airflow``
|
|
124
|
-
``
|
|
125
|
-
``
|
|
126
|
-
``azure-
|
|
127
|
-
``azure-
|
|
128
|
-
``azure-
|
|
129
|
-
``azure-
|
|
130
|
-
``azure-
|
|
131
|
-
``azure-
|
|
132
|
-
``azure-mgmt-
|
|
133
|
-
``azure-
|
|
134
|
-
``azure-
|
|
135
|
-
``azure-storage
|
|
136
|
-
``azure-
|
|
137
|
-
``azure-
|
|
138
|
-
``azure-synapse-
|
|
139
|
-
``
|
|
140
|
-
``
|
|
141
|
-
``azure-
|
|
142
|
-
``azure-
|
|
143
|
-
``azure-mgmt-
|
|
144
|
-
``azure-mgmt-
|
|
145
|
-
``
|
|
146
|
-
``
|
|
147
|
-
``
|
|
148
|
-
``microsoft-kiota-
|
|
149
|
-
``microsoft-kiota-
|
|
150
|
-
``microsoft-kiota-
|
|
151
|
-
``
|
|
152
|
-
|
|
122
|
+
========================================== ===================
|
|
123
|
+
PIP package Version required
|
|
124
|
+
========================================== ===================
|
|
125
|
+
``apache-airflow`` ``>=2.10.0``
|
|
126
|
+
``apache-airflow-providers-common-compat`` ``>=1.8.0``
|
|
127
|
+
``adlfs`` ``>=2023.10.0``
|
|
128
|
+
``azure-batch`` ``>=8.0.0``
|
|
129
|
+
``azure-cosmos`` ``>=4.6.0``
|
|
130
|
+
``azure-mgmt-cosmosdb`` ``>=3.0.0``
|
|
131
|
+
``azure-datalake-store`` ``>=0.0.45``
|
|
132
|
+
``azure-identity`` ``>=1.3.1``
|
|
133
|
+
``azure-keyvault-secrets`` ``>=4.1.0``
|
|
134
|
+
``azure-mgmt-datalake-store`` ``>=0.5.0``
|
|
135
|
+
``azure-mgmt-resource`` ``>=2.2.0``
|
|
136
|
+
``azure-storage-blob`` ``>=12.26.0``
|
|
137
|
+
``azure-mgmt-storage`` ``>=16.0.0``
|
|
138
|
+
``azure-storage-file-share`` ``>=12.7.0``
|
|
139
|
+
``azure-servicebus`` ``>=7.12.1``
|
|
140
|
+
``azure-synapse-spark`` ``>=0.2.0``
|
|
141
|
+
``azure-synapse-artifacts`` ``>=0.17.0``
|
|
142
|
+
``adal`` ``>=1.2.7``
|
|
143
|
+
``azure-storage-file-datalake`` ``>=12.9.1``
|
|
144
|
+
``azure-kusto-data`` ``>=4.1.0,!=4.6.0``
|
|
145
|
+
``azure-mgmt-datafactory`` ``>=2.0.0``
|
|
146
|
+
``azure-mgmt-containerregistry`` ``>=8.0.0``
|
|
147
|
+
``azure-mgmt-containerinstance`` ``>=10.1.0``
|
|
148
|
+
``msgraph-core`` ``>=1.3.3``
|
|
149
|
+
``msgraphfs`` ``>=0.3.0``
|
|
150
|
+
``microsoft-kiota-http`` ``>=1.9.4,<2.0.0``
|
|
151
|
+
``microsoft-kiota-serialization-json`` ``>=1.9.4``
|
|
152
|
+
``microsoft-kiota-serialization-text`` ``>=1.9.4``
|
|
153
|
+
``microsoft-kiota-abstractions`` ``>=1.9.4,<2.0.0``
|
|
154
|
+
``microsoft-kiota-authentication-azure`` ``>=1.9.4,<2.0.0``
|
|
155
|
+
``msal-extensions`` ``>=1.3.0``
|
|
156
|
+
========================================== ===================
|
|
153
157
|
|
|
154
158
|
Cross provider package dependencies
|
|
155
159
|
-----------------------------------
|
|
@@ -186,5 +190,5 @@ Extra Dependencies
|
|
|
186
190
|
================= ==========================================
|
|
187
191
|
|
|
188
192
|
The changelog for the provider package can be found in the
|
|
189
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-microsoft-azure/12.
|
|
193
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-microsoft-azure/12.8.0/changelog.html>`_.
|
|
190
194
|
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
airflow/providers/microsoft/azure/LICENSE,sha256=gXPVwptPlW1TJ4HSuG5OMPg-a3h43OGMkZRR1rpwfJA,10850
|
|
2
|
+
airflow/providers/microsoft/azure/__init__.py,sha256=sNjWUTOgNq0JaO_nDZYVPgKsb8sEQkWc_wsy--PG5NQ,1505
|
|
3
|
+
airflow/providers/microsoft/azure/get_provider_info.py,sha256=an-EaMk_2chx-vhutSFYbiQverwqNaJIr12pvrjy6jU,19031
|
|
4
|
+
airflow/providers/microsoft/azure/utils.py,sha256=KU9vHQRUhqTbC30GvmuZbL8rPBAziemM1oaT4rZp6K8,9015
|
|
5
|
+
airflow/providers/microsoft/azure/version_compat.py,sha256=JRhqYf4UklO3xwmtCRPSXLQqq0yD1pCts3bhwxgVC0s,1670
|
|
6
|
+
airflow/providers/microsoft/azure/fs/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
|
7
|
+
airflow/providers/microsoft/azure/fs/adls.py,sha256=-lxaL4xYduRL8hQ27ERTCWugI29WiWwLvSTdxfrhzB8,3924
|
|
8
|
+
airflow/providers/microsoft/azure/fs/msgraph.py,sha256=6bjBjo1J04mksMe4-s1OCSt6hJ6eW4uaUcm0RnDeGv4,3779
|
|
9
|
+
airflow/providers/microsoft/azure/hooks/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
|
10
|
+
airflow/providers/microsoft/azure/hooks/adx.py,sha256=y1v7P0RBpOThyICYdvQIYMkksvNeiuC4-0eMi87wjm8,9664
|
|
11
|
+
airflow/providers/microsoft/azure/hooks/asb.py,sha256=xVhbEevcg594l6MdxUgizCgg2Zh3ayxmyxUUkDkHOhY,30718
|
|
12
|
+
airflow/providers/microsoft/azure/hooks/base_azure.py,sha256=oieYqUsmh4Nx4v83Nt-OsVmzqa6ZoXuCKtoUhOviWJA,8752
|
|
13
|
+
airflow/providers/microsoft/azure/hooks/batch.py,sha256=43OES0hy3KS7gfAJq-jGvdoXOAfsG78w0CsFDb8zFEU,16065
|
|
14
|
+
airflow/providers/microsoft/azure/hooks/container_instance.py,sha256=0MrPLk06mg3Jm18VlteCAse_agK8ysK9dUDjbdRL66Q,7201
|
|
15
|
+
airflow/providers/microsoft/azure/hooks/container_registry.py,sha256=8tPVX_fsiIV3Y2dTSry1pkXyWhpu1OrEwaFRuNCZI5Q,4926
|
|
16
|
+
airflow/providers/microsoft/azure/hooks/container_volume.py,sha256=FIe3V0Y9z8yD-vbvzStY8w2QRenrYifh3msyhl3R8FU,5794
|
|
17
|
+
airflow/providers/microsoft/azure/hooks/cosmos.py,sha256=6jxnnJbcVvNwtmaqItbdSlNixCESDJ9MI7gLm14anhs,17486
|
|
18
|
+
airflow/providers/microsoft/azure/hooks/data_factory.py,sha256=Xp99-Afuhluee1y-3Tef4YY2Qi5vdoIMWJbeatPMtuk,44929
|
|
19
|
+
airflow/providers/microsoft/azure/hooks/data_lake.py,sha256=JUlXGgawOxDtaUim1-SXYIKtCOHxVTmeV0l5tIf6Ef0,23875
|
|
20
|
+
airflow/providers/microsoft/azure/hooks/fileshare.py,sha256=NL-ZqhsENEQar66S-QaVAytqs7ZEImzf3YDUMnKzJZ0,10777
|
|
21
|
+
airflow/providers/microsoft/azure/hooks/msgraph.py,sha256=1rmaNTzSDj-RITqSze325IFCI61Xz3LuCABv4QGoZh4,22867
|
|
22
|
+
airflow/providers/microsoft/azure/hooks/powerbi.py,sha256=_Z-PWDcZxwSmyP9uXBEEYNRrSIlGPFVUtDrtVk3KKxE,9778
|
|
23
|
+
airflow/providers/microsoft/azure/hooks/synapse.py,sha256=ggeSc1T5bZh0PSZh3l_Yika_fA2Atr6o6WhzAWtMTo8,16064
|
|
24
|
+
airflow/providers/microsoft/azure/hooks/wasb.py,sha256=yKJpnjJVbmT1BOaDl14awIRoxNNjUAgHCan7Zbi4gw4,32869
|
|
25
|
+
airflow/providers/microsoft/azure/log/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
|
26
|
+
airflow/providers/microsoft/azure/log/wasb_task_handler.py,sha256=Kgh-_GJ15GHlcCdPZdCAshKe92cqgHFvMpOae_RVaHs,10173
|
|
27
|
+
airflow/providers/microsoft/azure/operators/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
|
28
|
+
airflow/providers/microsoft/azure/operators/adls.py,sha256=4nryg1p7bMi2B41YrmDhHE873_miu1kIf0wd1a3bu2k,5837
|
|
29
|
+
airflow/providers/microsoft/azure/operators/adx.py,sha256=FFWvsXdtvzSy4JW3mTJv94Ia87Jkm10gCjoIq8_NttM,3176
|
|
30
|
+
airflow/providers/microsoft/azure/operators/asb.py,sha256=xvmXtd42ktycmSz7Hx-V5wKl9Ca8msaZ68HWtWzKM4Q,30498
|
|
31
|
+
airflow/providers/microsoft/azure/operators/batch.py,sha256=aAztFXU0wzsoMsXCv5Coco-vRlxGhKQoC1MhYtnflZE,16291
|
|
32
|
+
airflow/providers/microsoft/azure/operators/container_instances.py,sha256=3UVeJ7McQMIASXArwPU_DuAoGIcV-NALynmS1TeXjcM,18659
|
|
33
|
+
airflow/providers/microsoft/azure/operators/cosmos.py,sha256=paMVck5RYiVQFd0N59HJWDS2nRQUuhK2rfNXBl8heQw,2835
|
|
34
|
+
airflow/providers/microsoft/azure/operators/data_factory.py,sha256=obY8V094zWertPag3isqJQMqwmjjRLsN6oW9BegwTsc,12459
|
|
35
|
+
airflow/providers/microsoft/azure/operators/msgraph.py,sha256=fTrcqoy8UxWYNhA8uk40gJStB9qNuVIlhorZLnOe_f0,14188
|
|
36
|
+
airflow/providers/microsoft/azure/operators/powerbi.py,sha256=CPib6wrAnyEcg6Gc88EzOd1pfZIm2YJbCdL7duO9O_U,11621
|
|
37
|
+
airflow/providers/microsoft/azure/operators/synapse.py,sha256=6iT-pPD_RodhRjyNFfMf1EpDoLCczokFtjkkU165Jlk,12409
|
|
38
|
+
airflow/providers/microsoft/azure/operators/wasb_delete_blob.py,sha256=mnwK_lFeuTp2SP2RExc0fiCzXAA9WXnGDBsmoKwNoH8,2735
|
|
39
|
+
airflow/providers/microsoft/azure/secrets/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
|
40
|
+
airflow/providers/microsoft/azure/secrets/key_vault.py,sha256=zbgjqiQo-cWu1N6QD7gFXRGSbmHw4xgAN-TiCovKYk4,9051
|
|
41
|
+
airflow/providers/microsoft/azure/sensors/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
|
42
|
+
airflow/providers/microsoft/azure/sensors/cosmos.py,sha256=cd7bNdjtNrtEKFZpglnrjfwzU_iLBuc7IaXtFzRdFTo,2679
|
|
43
|
+
airflow/providers/microsoft/azure/sensors/data_factory.py,sha256=PGeJdWmNqfHEIsiJ-PNVOcywsEVp8hczCfsUtMNmGqU,5029
|
|
44
|
+
airflow/providers/microsoft/azure/sensors/msgraph.py,sha256=hzSaRQrh4Q7pKsg3Ai7r3CL-fS4_cErCn0z538tMjkU,7746
|
|
45
|
+
airflow/providers/microsoft/azure/sensors/wasb.py,sha256=lNJw31aMZRjOI7yTXX0WRzqu8uQVY_ZIYZRBKaKnyWQ,7397
|
|
46
|
+
airflow/providers/microsoft/azure/transfers/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
|
47
|
+
airflow/providers/microsoft/azure/transfers/local_to_adls.py,sha256=W--jCgdQOJ1DoDnALgEbw3KJ96eWc4TiDrTPCR3l1dU,4224
|
|
48
|
+
airflow/providers/microsoft/azure/transfers/local_to_wasb.py,sha256=LTagjkM3mx5-Grc73--VONw9fOuga71TT9w1DHUopGk,2984
|
|
49
|
+
airflow/providers/microsoft/azure/transfers/oracle_to_azure_data_lake.py,sha256=pjvHXwdZA7DwWNae7tAj_FSbvhYg1JYjSr4AZTRcEw4,4537
|
|
50
|
+
airflow/providers/microsoft/azure/transfers/s3_to_wasb.py,sha256=PHGAGtQLTfKkXfkxvKRoa7CPZZaPP_z_p4Cvhzmcdpw,12510
|
|
51
|
+
airflow/providers/microsoft/azure/transfers/sftp_to_wasb.py,sha256=SUJh4nyDD6EzYaXfkhh5CG4POg0d3kKlkYx-XJdhDhg,8430
|
|
52
|
+
airflow/providers/microsoft/azure/triggers/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
|
53
|
+
airflow/providers/microsoft/azure/triggers/data_factory.py,sha256=aj4PWk-hSBe1-EWBzkIH3WvC5vve9lci1OgKYjKQ3FU,11149
|
|
54
|
+
airflow/providers/microsoft/azure/triggers/msgraph.py,sha256=8Ke7jzmvld8uzBN1sxgs4xjzMXvxPYXWtLemyZ8lP9U,8542
|
|
55
|
+
airflow/providers/microsoft/azure/triggers/powerbi.py,sha256=z9LJ-PfgWstt7c2eIJX5LOGUicfdMv2EELhCsrCJ6Nk,16371
|
|
56
|
+
airflow/providers/microsoft/azure/triggers/wasb.py,sha256=RF-C6iqDEs6_pWireCWZXqxcqWK-sFJ695Okdd_EJOA,7456
|
|
57
|
+
apache_airflow_providers_microsoft_azure-12.8.0rc1.dist-info/entry_points.txt,sha256=6iWHenOoUC3YZBb3OKn6g0HlJsV58Ba56i8USmQrcJI,111
|
|
58
|
+
apache_airflow_providers_microsoft_azure-12.8.0rc1.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
|
|
59
|
+
apache_airflow_providers_microsoft_azure-12.8.0rc1.dist-info/METADATA,sha256=hWiTo6u9Q8ZtfSophUqUyeuQCduy4-6gBL7rlQfD-Uk,9428
|
|
60
|
+
apache_airflow_providers_microsoft_azure-12.8.0rc1.dist-info/RECORD,,
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
airflow/providers/microsoft/azure/LICENSE,sha256=gXPVwptPlW1TJ4HSuG5OMPg-a3h43OGMkZRR1rpwfJA,10850
|
|
2
|
-
airflow/providers/microsoft/azure/__init__.py,sha256=vujwor5X8C6TV5n-YfIFTMv2Z2-RzMRWmP43HiuaITY,1505
|
|
3
|
-
airflow/providers/microsoft/azure/get_provider_info.py,sha256=AeIwe8L-5p1z7IVF9Yc_mmQyAe149r6YVCyRpjfc3u0,18946
|
|
4
|
-
airflow/providers/microsoft/azure/utils.py,sha256=KU9vHQRUhqTbC30GvmuZbL8rPBAziemM1oaT4rZp6K8,9015
|
|
5
|
-
airflow/providers/microsoft/azure/version_compat.py,sha256=f3OsfVwvYvtOHQO_LcHam3pP2rcH_TKkn8VaJpgGiDo,2570
|
|
6
|
-
airflow/providers/microsoft/azure/fs/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
|
7
|
-
airflow/providers/microsoft/azure/fs/adls.py,sha256=1La15shfckTX6tem3O34Gdneyd0TXFlFwABqIRHUd1A,3937
|
|
8
|
-
airflow/providers/microsoft/azure/hooks/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
|
9
|
-
airflow/providers/microsoft/azure/hooks/adx.py,sha256=NoPbs-CWbNH-AxvqtF3cKdV0-YFr9AlqCh2qg-DuSKw,9677
|
|
10
|
-
airflow/providers/microsoft/azure/hooks/asb.py,sha256=ED3IsvtKLBigHyhNCO5qCkY5Kj8I8OOUSBSO9bOXyBU,30731
|
|
11
|
-
airflow/providers/microsoft/azure/hooks/base_azure.py,sha256=urqIC8fWdmo8fPoD1MuVZLRyb9ynHGi7sOY1iBc-25g,5413
|
|
12
|
-
airflow/providers/microsoft/azure/hooks/batch.py,sha256=VZT5cXQOCEN64O5vWqlLAFc3hx4lK2OZ9nPpfER4nPc,16078
|
|
13
|
-
airflow/providers/microsoft/azure/hooks/container_instance.py,sha256=0MrPLk06mg3Jm18VlteCAse_agK8ysK9dUDjbdRL66Q,7201
|
|
14
|
-
airflow/providers/microsoft/azure/hooks/container_registry.py,sha256=YAo-wSTVnEAzfoNz-w5bIcmcHe5KSvrk4nRzKdpcbE8,4939
|
|
15
|
-
airflow/providers/microsoft/azure/hooks/container_volume.py,sha256=m6Jg8RnKwzGQQt3UDxLkU3sL7_bGZv-136InbQpGKw0,5807
|
|
16
|
-
airflow/providers/microsoft/azure/hooks/cosmos.py,sha256=gw90ZaoaPzTpE27eVM5zbJDeWW38LdzrQO3YwWcaNqI,17499
|
|
17
|
-
airflow/providers/microsoft/azure/hooks/data_factory.py,sha256=oo1qcyTDDhJcclq0gE3eVJsFZ_DbuT1PXhTz0NXawds,45028
|
|
18
|
-
airflow/providers/microsoft/azure/hooks/data_lake.py,sha256=1O6eRxe-4Hm5wkWH2zeS4nxc3CYUSFXOu8ySz-UtZJ8,23888
|
|
19
|
-
airflow/providers/microsoft/azure/hooks/fileshare.py,sha256=x8hXYHE6qUjJDTa1qp47DS34eZBeBrwE4cZkk1i0u48,10790
|
|
20
|
-
airflow/providers/microsoft/azure/hooks/msgraph.py,sha256=jqAz0AxUJxcOcRj29GsZBsZG0uOT8mqxTGgkG7Ed088,22801
|
|
21
|
-
airflow/providers/microsoft/azure/hooks/powerbi.py,sha256=_Z-PWDcZxwSmyP9uXBEEYNRrSIlGPFVUtDrtVk3KKxE,9778
|
|
22
|
-
airflow/providers/microsoft/azure/hooks/synapse.py,sha256=PC7whM9SOuc29hu9mU1DOvi5xmevGLS9Gadql2u0KYM,16077
|
|
23
|
-
airflow/providers/microsoft/azure/hooks/wasb.py,sha256=mjYMNWNuPVgW2EGUwmHS1Af3bKx1cho4-cGAz5xgZXQ,32882
|
|
24
|
-
airflow/providers/microsoft/azure/log/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
|
25
|
-
airflow/providers/microsoft/azure/log/wasb_task_handler.py,sha256=Kgh-_GJ15GHlcCdPZdCAshKe92cqgHFvMpOae_RVaHs,10173
|
|
26
|
-
airflow/providers/microsoft/azure/operators/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
|
27
|
-
airflow/providers/microsoft/azure/operators/adls.py,sha256=mtyCEhnva1I98nLLM6CdwbUXnBJfb045z5n5zANnTIs,5850
|
|
28
|
-
airflow/providers/microsoft/azure/operators/adx.py,sha256=yp7nsc0QWGxodhpwg_uQiT2XI3qNAICRjsgkcfbWmEI,3189
|
|
29
|
-
airflow/providers/microsoft/azure/operators/asb.py,sha256=RzipreLn5DOA8oaE_-ifx43ELAN6CX-ti2m5RSYT6rU,30511
|
|
30
|
-
airflow/providers/microsoft/azure/operators/batch.py,sha256=NYjaxYcFwficmJb7l3Vjdm2JeW9MFxQ3I0trIIwSb1E,16304
|
|
31
|
-
airflow/providers/microsoft/azure/operators/container_instances.py,sha256=8ti1L50pQQcRVL_7noKo6IXoobi8hO0-A4SlgcbIhX0,18672
|
|
32
|
-
airflow/providers/microsoft/azure/operators/cosmos.py,sha256=t7XWU4L5W7tr33J6lC3_mIrFANW_JE1QOYpSFydkBxs,2848
|
|
33
|
-
airflow/providers/microsoft/azure/operators/data_factory.py,sha256=TQz7zQ3zBKOHhackZxMTdBFo66RenoPwcO8gXaLVXIs,12797
|
|
34
|
-
airflow/providers/microsoft/azure/operators/msgraph.py,sha256=uGitEdRqLQ_KJP0nXgIRgK4k7XJi_iRHSCfbpv6xhqo,14201
|
|
35
|
-
airflow/providers/microsoft/azure/operators/powerbi.py,sha256=o0dkRV3cgb4tthS1c6xOFicVm9cO77O1ykUvBvQwQRI,11647
|
|
36
|
-
airflow/providers/microsoft/azure/operators/synapse.py,sha256=boHHnenDSaTehFnuf-upPeBA9ej5Mnx3u6HQyVXH_5g,12747
|
|
37
|
-
airflow/providers/microsoft/azure/operators/wasb_delete_blob.py,sha256=Rigi5xFXkHFNcX4-VnA4fFxJlKHlevdsCExX6VJWCts,2748
|
|
38
|
-
airflow/providers/microsoft/azure/secrets/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
|
39
|
-
airflow/providers/microsoft/azure/secrets/key_vault.py,sha256=zbgjqiQo-cWu1N6QD7gFXRGSbmHw4xgAN-TiCovKYk4,9051
|
|
40
|
-
airflow/providers/microsoft/azure/sensors/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
|
41
|
-
airflow/providers/microsoft/azure/sensors/cosmos.py,sha256=Py3n-LOqaH2XuTxQVDZQv4d4RMREqBrmhWZ4NIbLr9Y,2851
|
|
42
|
-
airflow/providers/microsoft/azure/sensors/data_factory.py,sha256=u_8vcnVmjzuCrOJbTeexxytfpXlkz0bSMkuWYmyZktI,5214
|
|
43
|
-
airflow/providers/microsoft/azure/sensors/msgraph.py,sha256=fHcWAYAvqXBh-81h8c4r-FPMYFVr5jO-yF7c9ZYOo8k,7759
|
|
44
|
-
airflow/providers/microsoft/azure/sensors/wasb.py,sha256=SXhgU2L1iTULybQzIw0059BkL6LyVRCXr6kOayCgX20,7569
|
|
45
|
-
airflow/providers/microsoft/azure/transfers/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
|
46
|
-
airflow/providers/microsoft/azure/transfers/local_to_adls.py,sha256=GZl16M2V9xIDYmUyERq6-RxvbP_0VVcMmeG9Z2jLzkU,4237
|
|
47
|
-
airflow/providers/microsoft/azure/transfers/local_to_wasb.py,sha256=IqV18vzBwVbivfgOtsqR7q1pOs3uZBNDgoF_wrK1yAE,2997
|
|
48
|
-
airflow/providers/microsoft/azure/transfers/oracle_to_azure_data_lake.py,sha256=hjmjs00O4cbn2tgB9_UbnZ8Dn2DAUM6C2aamzMfyYb4,4550
|
|
49
|
-
airflow/providers/microsoft/azure/transfers/s3_to_wasb.py,sha256=jQgicPw4uGyRSss9PA05TKqHdch2CNO8bMdNVEvVir0,12523
|
|
50
|
-
airflow/providers/microsoft/azure/transfers/sftp_to_wasb.py,sha256=l6kdtxq3SvCUo_Hx60t1YiX4bP8lF3WmbglICHk24vo,8409
|
|
51
|
-
airflow/providers/microsoft/azure/triggers/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
|
52
|
-
airflow/providers/microsoft/azure/triggers/data_factory.py,sha256=U3vY_pj4yORxE7X6YR7CP3Jl73K9euCdUczy3dLmikU,11165
|
|
53
|
-
airflow/providers/microsoft/azure/triggers/msgraph.py,sha256=8Ke7jzmvld8uzBN1sxgs4xjzMXvxPYXWtLemyZ8lP9U,8542
|
|
54
|
-
airflow/providers/microsoft/azure/triggers/powerbi.py,sha256=z9LJ-PfgWstt7c2eIJX5LOGUicfdMv2EELhCsrCJ6Nk,16371
|
|
55
|
-
airflow/providers/microsoft/azure/triggers/wasb.py,sha256=RF-C6iqDEs6_pWireCWZXqxcqWK-sFJ695Okdd_EJOA,7456
|
|
56
|
-
apache_airflow_providers_microsoft_azure-12.7.1.dist-info/entry_points.txt,sha256=6iWHenOoUC3YZBb3OKn6g0HlJsV58Ba56i8USmQrcJI,111
|
|
57
|
-
apache_airflow_providers_microsoft_azure-12.7.1.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
|
|
58
|
-
apache_airflow_providers_microsoft_azure-12.7.1.dist-info/METADATA,sha256=I53fpPqumR-_bZU9drQgkCDUcC7xfpXyPhML778z2C4,9134
|
|
59
|
-
apache_airflow_providers_microsoft_azure-12.7.1.dist-info/RECORD,,
|
|
File without changes
|