apache-airflow-providers-microsoft-azure 11.1.0__py3-none-any.whl → 12.0.0__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/microsoft/azure/__init__.py +3 -3
- airflow/providers/microsoft/azure/get_provider_info.py +8 -9
- airflow/providers/microsoft/azure/hooks/adx.py +1 -9
- airflow/providers/microsoft/azure/hooks/base_azure.py +1 -19
- airflow/providers/microsoft/azure/hooks/container_instance.py +1 -42
- airflow/providers/microsoft/azure/hooks/cosmos.py +2 -2
- airflow/providers/microsoft/azure/hooks/data_factory.py +1 -10
- airflow/providers/microsoft/azure/hooks/msgraph.py +48 -0
- airflow/providers/microsoft/azure/hooks/powerbi.py +1 -0
- airflow/providers/microsoft/azure/hooks/synapse.py +1 -9
- airflow/providers/microsoft/azure/operators/adls.py +2 -1
- airflow/providers/microsoft/azure/operators/adx.py +4 -10
- airflow/providers/microsoft/azure/operators/asb.py +2 -1
- airflow/providers/microsoft/azure/operators/batch.py +3 -8
- airflow/providers/microsoft/azure/operators/container_instances.py +2 -1
- airflow/providers/microsoft/azure/operators/cosmos.py +2 -1
- airflow/providers/microsoft/azure/operators/data_factory.py +2 -1
- airflow/providers/microsoft/azure/operators/msgraph.py +2 -2
- airflow/providers/microsoft/azure/operators/powerbi.py +3 -4
- airflow/providers/microsoft/azure/operators/synapse.py +2 -1
- airflow/providers/microsoft/azure/operators/wasb_delete_blob.py +2 -1
- airflow/providers/microsoft/azure/secrets/key_vault.py +0 -20
- airflow/providers/microsoft/azure/sensors/cosmos.py +2 -1
- airflow/providers/microsoft/azure/sensors/data_factory.py +2 -1
- airflow/providers/microsoft/azure/sensors/msgraph.py +3 -2
- airflow/providers/microsoft/azure/sensors/wasb.py +3 -34
- airflow/providers/microsoft/azure/transfers/local_to_adls.py +2 -1
- airflow/providers/microsoft/azure/transfers/local_to_wasb.py +2 -1
- airflow/providers/microsoft/azure/transfers/oracle_to_azure_data_lake.py +2 -1
- airflow/providers/microsoft/azure/transfers/s3_to_wasb.py +2 -1
- airflow/providers/microsoft/azure/transfers/sftp_to_wasb.py +2 -1
- airflow/providers/microsoft/azure/triggers/data_factory.py +2 -1
- airflow/providers/microsoft/azure/triggers/msgraph.py +1 -2
- airflow/providers/microsoft/azure/triggers/powerbi.py +17 -14
- airflow/providers/microsoft/azure/triggers/wasb.py +2 -1
- {apache_airflow_providers_microsoft_azure-11.1.0.dist-info → apache_airflow_providers_microsoft_azure-12.0.0.dist-info}/METADATA +21 -21
- apache_airflow_providers_microsoft_azure-12.0.0.dist-info/RECORD +58 -0
- airflow/providers/microsoft/azure/transfers/azure_blob_to_gcs.py +0 -44
- apache_airflow_providers_microsoft_azure-11.1.0.dist-info/RECORD +0 -59
- {apache_airflow_providers_microsoft_azure-11.1.0.dist-info → apache_airflow_providers_microsoft_azure-12.0.0.dist-info}/WHEEL +0 -0
- {apache_airflow_providers_microsoft_azure-11.1.0.dist-info → apache_airflow_providers_microsoft_azure-12.0.0.dist-info}/entry_points.txt +0 -0
@@ -29,11 +29,11 @@ from airflow import __version__ as airflow_version
|
|
29
29
|
|
30
30
|
__all__ = ["__version__"]
|
31
31
|
|
32
|
-
__version__ = "
|
32
|
+
__version__ = "12.0.0"
|
33
33
|
|
34
34
|
if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
|
35
|
-
"2.
|
35
|
+
"2.9.0"
|
36
36
|
):
|
37
37
|
raise RuntimeError(
|
38
|
-
f"The package `apache-airflow-providers-microsoft-azure:{__version__}` needs Apache Airflow 2.
|
38
|
+
f"The package `apache-airflow-providers-microsoft-azure:{__version__}` needs Apache Airflow 2.9.0+"
|
39
39
|
)
|
@@ -28,8 +28,9 @@ def get_provider_info():
|
|
28
28
|
"name": "Microsoft Azure",
|
29
29
|
"description": "`Microsoft Azure <https://azure.microsoft.com/>`__\n",
|
30
30
|
"state": "ready",
|
31
|
-
"source-date-epoch":
|
31
|
+
"source-date-epoch": 1734535249,
|
32
32
|
"versions": [
|
33
|
+
"12.0.0",
|
33
34
|
"11.1.0",
|
34
35
|
"11.0.0",
|
35
36
|
"10.5.1",
|
@@ -93,7 +94,7 @@ def get_provider_info():
|
|
93
94
|
"1.0.0",
|
94
95
|
],
|
95
96
|
"dependencies": [
|
96
|
-
"apache-airflow>=2.
|
97
|
+
"apache-airflow>=2.9.0",
|
97
98
|
"adlfs>=2023.10.0",
|
98
99
|
"azure-batch>=8.0.0",
|
99
100
|
"azure-cosmos>=4.6.0",
|
@@ -115,7 +116,7 @@ def get_provider_info():
|
|
115
116
|
"azure-mgmt-datafactory>=2.0.0",
|
116
117
|
"azure-mgmt-containerregistry>=8.0.0",
|
117
118
|
"azure-mgmt-containerinstance>=10.1.0",
|
118
|
-
"msgraph-core>=1.0.0",
|
119
|
+
"msgraph-core>=1.0.0,!=1.1.8",
|
119
120
|
"microsoft-kiota-http>=1.3.0,!=1.3.4",
|
120
121
|
"microsoft-kiota-serialization-json==1.0.0",
|
121
122
|
"microsoft-kiota-serialization-text==1.0.0",
|
@@ -398,12 +399,6 @@ def get_provider_info():
|
|
398
399
|
"how-to-guide": "/docs/apache-airflow-providers-microsoft-azure/transfer/s3_to_wasb.rst",
|
399
400
|
"python-module": "airflow.providers.microsoft.azure.transfers.s3_to_wasb",
|
400
401
|
},
|
401
|
-
{
|
402
|
-
"source-integration-name": "Microsoft Azure Blob Storage",
|
403
|
-
"target-integration-name": "Google Cloud Storage (GCS)",
|
404
|
-
"how-to-guide": "/docs/apache-airflow-providers-microsoft-azure/transfer/azure_blob_to_gcs.rst",
|
405
|
-
"python-module": "airflow.providers.microsoft.azure.transfers.azure_blob_to_gcs",
|
406
|
-
},
|
407
402
|
],
|
408
403
|
"connection-types": [
|
409
404
|
{
|
@@ -462,6 +457,10 @@ def get_provider_info():
|
|
462
457
|
"hook-class-name": "airflow.providers.microsoft.azure.hooks.data_lake.AzureDataLakeStorageV2Hook",
|
463
458
|
"connection-type": "adls",
|
464
459
|
},
|
460
|
+
{
|
461
|
+
"hook-class-name": "airflow.providers.microsoft.azure.hooks.msgraph.KiotaRequestAdapterHook",
|
462
|
+
"connection-type": "msgraph",
|
463
|
+
},
|
465
464
|
{
|
466
465
|
"hook-class-name": "airflow.providers.microsoft.azure.hooks.powerbi.PowerBIHook",
|
467
466
|
"connection-type": "powerbi",
|
@@ -33,7 +33,7 @@ from typing import TYPE_CHECKING, Any
|
|
33
33
|
from azure.kusto.data import ClientRequestProperties, KustoClient, KustoConnectionStringBuilder
|
34
34
|
from azure.kusto.data.exceptions import KustoServiceError
|
35
35
|
|
36
|
-
from airflow.exceptions import AirflowException
|
36
|
+
from airflow.exceptions import AirflowException
|
37
37
|
from airflow.hooks.base import BaseHook
|
38
38
|
from airflow.providers.microsoft.azure.utils import (
|
39
39
|
add_managed_identity_connection_widgets,
|
@@ -161,14 +161,6 @@ class AzureDataExplorerHook(BaseHook):
|
|
161
161
|
value = extras.get(name)
|
162
162
|
if value:
|
163
163
|
warn_if_collison(name, backcompat_key)
|
164
|
-
if not value and extras.get(backcompat_key):
|
165
|
-
warnings.warn(
|
166
|
-
f"`{backcompat_key}` is deprecated in azure connection extra,"
|
167
|
-
f" please use `{name}` instead",
|
168
|
-
AirflowProviderDeprecationWarning,
|
169
|
-
stacklevel=2,
|
170
|
-
)
|
171
|
-
value = extras.get(backcompat_key)
|
172
164
|
if not value:
|
173
165
|
raise AirflowException(f"Required connection parameter is missing: `{name}`")
|
174
166
|
return value
|
@@ -16,13 +16,12 @@
|
|
16
16
|
# under the License.
|
17
17
|
from __future__ import annotations
|
18
18
|
|
19
|
-
import warnings
|
20
19
|
from typing import Any
|
21
20
|
|
22
21
|
from azure.common.client_factory import get_client_from_auth_file, get_client_from_json_dict
|
23
22
|
from azure.common.credentials import ServicePrincipalCredentials
|
24
23
|
|
25
|
-
from airflow.exceptions import AirflowException
|
24
|
+
from airflow.exceptions import AirflowException
|
26
25
|
from airflow.hooks.base import BaseHook
|
27
26
|
from airflow.providers.microsoft.azure.utils import (
|
28
27
|
AzureIdentityCredentialAdapter,
|
@@ -99,24 +98,7 @@ class AzureBaseHook(BaseHook):
|
|
99
98
|
"""
|
100
99
|
conn = self.get_connection(self.conn_id)
|
101
100
|
tenant = conn.extra_dejson.get("tenantId")
|
102
|
-
if not tenant and conn.extra_dejson.get("extra__azure__tenantId"):
|
103
|
-
warnings.warn(
|
104
|
-
"`extra__azure__tenantId` is deprecated in azure connection extra, "
|
105
|
-
"please use `tenantId` instead",
|
106
|
-
AirflowProviderDeprecationWarning,
|
107
|
-
stacklevel=2,
|
108
|
-
)
|
109
|
-
tenant = conn.extra_dejson.get("extra__azure__tenantId")
|
110
101
|
subscription_id = conn.extra_dejson.get("subscriptionId")
|
111
|
-
if not subscription_id and conn.extra_dejson.get("extra__azure__subscriptionId"):
|
112
|
-
warnings.warn(
|
113
|
-
"`extra__azure__subscriptionId` is deprecated in azure connection extra, "
|
114
|
-
"please use `subscriptionId` instead",
|
115
|
-
AirflowProviderDeprecationWarning,
|
116
|
-
stacklevel=2,
|
117
|
-
)
|
118
|
-
subscription_id = conn.extra_dejson.get("extra__azure__subscriptionId")
|
119
|
-
|
120
102
|
key_path = conn.extra_dejson.get("key_path")
|
121
103
|
if key_path:
|
122
104
|
if not key_path.endswith(".json"):
|
@@ -23,18 +23,14 @@ from typing import TYPE_CHECKING, Any, cast
|
|
23
23
|
from azure.common.client_factory import get_client_from_auth_file, get_client_from_json_dict
|
24
24
|
from azure.identity import ClientSecretCredential, DefaultAzureCredential
|
25
25
|
from azure.mgmt.containerinstance import ContainerInstanceManagementClient
|
26
|
-
from deprecated import deprecated
|
27
26
|
|
28
|
-
from airflow.exceptions import AirflowException
|
27
|
+
from airflow.exceptions import AirflowException
|
29
28
|
from airflow.providers.microsoft.azure.hooks.base_azure import AzureBaseHook
|
30
29
|
from airflow.providers.microsoft.azure.utils import get_sync_default_azure_credential
|
31
30
|
|
32
31
|
if TYPE_CHECKING:
|
33
32
|
from azure.mgmt.containerinstance.models import (
|
34
33
|
ContainerGroup,
|
35
|
-
ContainerPropertiesInstanceView,
|
36
|
-
ContainerState,
|
37
|
-
Event,
|
38
34
|
)
|
39
35
|
|
40
36
|
|
@@ -116,43 +112,6 @@ class AzureContainerInstanceHook(AzureBaseHook):
|
|
116
112
|
"""
|
117
113
|
self.connection.container_groups.begin_create_or_update(resource_group, name, container_group)
|
118
114
|
|
119
|
-
@deprecated(
|
120
|
-
reason="get_state_exitcode_details() is deprecated. Related method is get_state()",
|
121
|
-
category=AirflowProviderDeprecationWarning,
|
122
|
-
)
|
123
|
-
def get_state_exitcode_details(self, resource_group: str, name: str) -> tuple:
|
124
|
-
"""
|
125
|
-
Get the state and exitcode of a container group.
|
126
|
-
|
127
|
-
:param resource_group: the name of the resource group
|
128
|
-
:param name: the name of the container group
|
129
|
-
:return: A tuple with the state, exitcode, and details.
|
130
|
-
If the exitcode is unknown 0 is returned.
|
131
|
-
"""
|
132
|
-
cg_state = self.get_state(resource_group, name)
|
133
|
-
container = cg_state.containers[0]
|
134
|
-
instance_view: ContainerPropertiesInstanceView = container.instance_view # type: ignore[assignment]
|
135
|
-
c_state: ContainerState = instance_view.current_state # type: ignore[assignment]
|
136
|
-
return c_state.state, c_state.exit_code, c_state.detail_status
|
137
|
-
|
138
|
-
@deprecated(
|
139
|
-
reason="get_messages() is deprecated. Related method is get_state()",
|
140
|
-
category=AirflowProviderDeprecationWarning,
|
141
|
-
)
|
142
|
-
def get_messages(self, resource_group: str, name: str) -> list:
|
143
|
-
"""
|
144
|
-
Get the messages of a container group.
|
145
|
-
|
146
|
-
:param resource_group: the name of the resource group
|
147
|
-
:param name: the name of the container group
|
148
|
-
:return: A list of the event messages
|
149
|
-
"""
|
150
|
-
cg_state = self.get_state(resource_group, name)
|
151
|
-
container = cg_state.containers[0]
|
152
|
-
instance_view: ContainerPropertiesInstanceView = container.instance_view # type: ignore[assignment]
|
153
|
-
events: list[Event] = instance_view.events # type: ignore[assignment]
|
154
|
-
return [event.message for event in events]
|
155
|
-
|
156
115
|
def get_state(self, resource_group: str, name: str) -> ContainerGroup:
|
157
116
|
"""
|
158
117
|
Get the state of a container group.
|
@@ -27,7 +27,7 @@ the default database and collection to use (see connection `azure_cosmos_default
|
|
27
27
|
from __future__ import annotations
|
28
28
|
|
29
29
|
import uuid
|
30
|
-
from typing import TYPE_CHECKING, Any,
|
30
|
+
from typing import TYPE_CHECKING, Any, Union
|
31
31
|
from urllib.parse import urlparse
|
32
32
|
|
33
33
|
from azure.cosmos import PartitionKey
|
@@ -44,7 +44,7 @@ from airflow.providers.microsoft.azure.utils import (
|
|
44
44
|
)
|
45
45
|
|
46
46
|
if TYPE_CHECKING:
|
47
|
-
PartitionKeyType = Union[str,
|
47
|
+
PartitionKeyType = Union[str, list[str]]
|
48
48
|
|
49
49
|
|
50
50
|
class AzureCosmosDBHook(BaseHook):
|
@@ -35,7 +35,6 @@ from __future__ import annotations
|
|
35
35
|
|
36
36
|
import inspect
|
37
37
|
import time
|
38
|
-
import warnings
|
39
38
|
from functools import wraps
|
40
39
|
from typing import IO, TYPE_CHECKING, Any, Callable, TypeVar, Union, cast
|
41
40
|
|
@@ -48,7 +47,7 @@ from azure.identity.aio import (
|
|
48
47
|
from azure.mgmt.datafactory import DataFactoryManagementClient
|
49
48
|
from azure.mgmt.datafactory.aio import DataFactoryManagementClient as AsyncDataFactoryManagementClient
|
50
49
|
|
51
|
-
from airflow.exceptions import AirflowException
|
50
|
+
from airflow.exceptions import AirflowException
|
52
51
|
from airflow.hooks.base import BaseHook
|
53
52
|
from airflow.providers.microsoft.azure.utils import (
|
54
53
|
add_managed_identity_connection_widgets,
|
@@ -1095,14 +1094,6 @@ def provide_targeted_factory_async(func: T) -> T:
|
|
1095
1094
|
default_value = extras.get(default_key) or extras.get(
|
1096
1095
|
f"extra__azure_data_factory__{default_key}"
|
1097
1096
|
)
|
1098
|
-
if not default_value and extras.get(f"extra__azure_data_factory__{default_key}"):
|
1099
|
-
warnings.warn(
|
1100
|
-
f"`extra__azure_data_factory__{default_key}` is deprecated in azure connection extra,"
|
1101
|
-
f" please use `{default_key}` instead",
|
1102
|
-
AirflowProviderDeprecationWarning,
|
1103
|
-
stacklevel=2,
|
1104
|
-
)
|
1105
|
-
default_value = extras.get(f"extra__azure_data_factory__{default_key}")
|
1106
1097
|
if not default_value:
|
1107
1098
|
raise AirflowException("Could not determine the targeted data factory.")
|
1108
1099
|
|
@@ -108,7 +108,10 @@ class KiotaRequestAdapterHook(BaseHook):
|
|
108
108
|
|
109
109
|
DEFAULT_HEADERS = {"Accept": "application/json;q=1"}
|
110
110
|
cached_request_adapters: dict[str, tuple[APIVersion, RequestAdapter]] = {}
|
111
|
+
conn_type: str = "msgraph"
|
112
|
+
conn_name_attr: str = "conn_id"
|
111
113
|
default_conn_name: str = "msgraph_default"
|
114
|
+
hook_name: str = "Microsoft Graph API"
|
112
115
|
|
113
116
|
def __init__(
|
114
117
|
self,
|
@@ -127,6 +130,51 @@ class KiotaRequestAdapterHook(BaseHook):
|
|
127
130
|
self.scopes = scopes or ["https://graph.microsoft.com/.default"]
|
128
131
|
self._api_version = self.resolve_api_version_from_value(api_version)
|
129
132
|
|
133
|
+
@classmethod
|
134
|
+
def get_connection_form_widgets(cls) -> dict[str, Any]:
|
135
|
+
"""Return connection widgets to add to connection form."""
|
136
|
+
from flask_appbuilder.fieldwidgets import BS3TextAreaFieldWidget, BS3TextFieldWidget
|
137
|
+
from flask_babel import lazy_gettext
|
138
|
+
from wtforms.fields import BooleanField, StringField
|
139
|
+
|
140
|
+
return {
|
141
|
+
"tenant_id": StringField(lazy_gettext("Tenant ID"), widget=BS3TextFieldWidget()),
|
142
|
+
"api_version": StringField(
|
143
|
+
lazy_gettext("API Version"), widget=BS3TextFieldWidget(), default="v1.0"
|
144
|
+
),
|
145
|
+
"authority": StringField(lazy_gettext("Authority"), widget=BS3TextFieldWidget()),
|
146
|
+
"scopes": StringField(
|
147
|
+
lazy_gettext("Scopes"),
|
148
|
+
widget=BS3TextFieldWidget(),
|
149
|
+
default="https://graph.microsoft.com/.default",
|
150
|
+
),
|
151
|
+
"disable_instance_discovery": BooleanField(
|
152
|
+
lazy_gettext("Disable instance discovery"), default=False
|
153
|
+
),
|
154
|
+
"allowed_hosts": StringField(lazy_gettext("Allowed"), widget=BS3TextFieldWidget()),
|
155
|
+
"proxies": StringField(lazy_gettext("Proxies"), widget=BS3TextAreaFieldWidget()),
|
156
|
+
"stream": BooleanField(lazy_gettext("Stream"), default=False),
|
157
|
+
"verify": BooleanField(lazy_gettext("Verify"), default=True),
|
158
|
+
"trust_env": BooleanField(lazy_gettext("Trust environment"), default=True),
|
159
|
+
"base_url": StringField(lazy_gettext("Base URL"), widget=BS3TextFieldWidget()),
|
160
|
+
}
|
161
|
+
|
162
|
+
@classmethod
|
163
|
+
def get_ui_field_behaviour(cls) -> dict[str, Any]:
|
164
|
+
"""Return custom field behaviour."""
|
165
|
+
return {
|
166
|
+
"hidden_fields": ["extra"],
|
167
|
+
"relabeling": {
|
168
|
+
"login": "Client ID",
|
169
|
+
"password": "Client Secret",
|
170
|
+
},
|
171
|
+
"default_values": {
|
172
|
+
"schema": "https",
|
173
|
+
"host": NationalClouds.Global.value,
|
174
|
+
"port": 443,
|
175
|
+
},
|
176
|
+
}
|
177
|
+
|
130
178
|
@property
|
131
179
|
def api_version(self) -> str | None:
|
132
180
|
self.get_conn() # Make sure config has been loaded through get_conn to have correct api version!
|
@@ -17,7 +17,6 @@
|
|
17
17
|
from __future__ import annotations
|
18
18
|
|
19
19
|
import time
|
20
|
-
import warnings
|
21
20
|
from typing import TYPE_CHECKING, Any, Union
|
22
21
|
|
23
22
|
from azure.core.exceptions import ServiceRequestError
|
@@ -25,7 +24,7 @@ from azure.identity import ClientSecretCredential, DefaultAzureCredential
|
|
25
24
|
from azure.synapse.artifacts import ArtifactsClient
|
26
25
|
from azure.synapse.spark import SparkClient
|
27
26
|
|
28
|
-
from airflow.exceptions import AirflowException,
|
27
|
+
from airflow.exceptions import AirflowException, AirflowTaskTimeout
|
29
28
|
from airflow.hooks.base import BaseHook
|
30
29
|
from airflow.providers.microsoft.azure.utils import (
|
31
30
|
add_managed_identity_connection_widgets,
|
@@ -307,13 +306,6 @@ class AzureSynapsePipelineHook(BaseAzureSynapseHook):
|
|
307
306
|
azure_synapse_conn_id: str = default_conn_name,
|
308
307
|
**kwargs,
|
309
308
|
):
|
310
|
-
# Handling deprecation of "default_conn_name"
|
311
|
-
if azure_synapse_conn_id == self.default_conn_name:
|
312
|
-
warnings.warn(
|
313
|
-
"The usage of `default_conn_name=azure_synapse_connection` is deprecated and will be removed in future. Please update your code to use the new default connection name: `default_conn_name=azure_synapse_default`. ",
|
314
|
-
AirflowProviderDeprecationWarning,
|
315
|
-
stacklevel=2,
|
316
|
-
)
|
317
309
|
self._conn: ArtifactsClient | None = None
|
318
310
|
self.azure_synapse_workspace_dev_endpoint = azure_synapse_workspace_dev_endpoint
|
319
311
|
super().__init__(azure_synapse_conn_id=azure_synapse_conn_id, **kwargs)
|
@@ -16,7 +16,8 @@
|
|
16
16
|
# under the License.
|
17
17
|
from __future__ import annotations
|
18
18
|
|
19
|
-
from
|
19
|
+
from collections.abc import Iterable, Sequence
|
20
|
+
from typing import IO, TYPE_CHECKING, Any, AnyStr
|
20
21
|
|
21
22
|
from airflow.models import BaseOperator
|
22
23
|
from airflow.providers.microsoft.azure.hooks.data_lake import AzureDataLakeHook, AzureDataLakeStorageV2Hook
|
@@ -19,13 +19,11 @@
|
|
19
19
|
|
20
20
|
from __future__ import annotations
|
21
21
|
|
22
|
+
from collections.abc import Sequence
|
22
23
|
from functools import cached_property
|
23
|
-
from typing import TYPE_CHECKING
|
24
|
-
|
25
|
-
from deprecated.classic import deprecated
|
24
|
+
from typing import TYPE_CHECKING
|
26
25
|
|
27
26
|
from airflow.configuration import conf
|
28
|
-
from airflow.exceptions import AirflowProviderDeprecationWarning
|
29
27
|
from airflow.models import BaseOperator
|
30
28
|
from airflow.providers.microsoft.azure.hooks.adx import AzureDataExplorerHook
|
31
29
|
|
@@ -71,11 +69,6 @@ class AzureDataExplorerQueryOperator(BaseOperator):
|
|
71
69
|
"""Return new instance of AzureDataExplorerHook."""
|
72
70
|
return AzureDataExplorerHook(self.azure_data_explorer_conn_id)
|
73
71
|
|
74
|
-
@deprecated(reason="use `hook` property instead.", category=AirflowProviderDeprecationWarning)
|
75
|
-
def get_hook(self) -> AzureDataExplorerHook:
|
76
|
-
"""Return new instance of AzureDataExplorerHook."""
|
77
|
-
return self.hook
|
78
|
-
|
79
72
|
def execute(self, context: Context) -> KustoResultTable | str:
|
80
73
|
"""
|
81
74
|
Run KQL Query on Azure Data Explorer (Kusto).
|
@@ -85,7 +78,8 @@ class AzureDataExplorerQueryOperator(BaseOperator):
|
|
85
78
|
https://docs.microsoft.com/en-us/azure/kusto/api/rest/response2
|
86
79
|
"""
|
87
80
|
response = self.hook.run_query(self.query, self.database, self.options)
|
88
|
-
|
81
|
+
# TODO: Remove this after minimum Airflow version is 3.0
|
82
|
+
if conf.getboolean("core", "enable_xcom_pickling", fallback=False):
|
89
83
|
return response.primary_results[0]
|
90
84
|
else:
|
91
85
|
return str(response.primary_results[0])
|
@@ -16,7 +16,8 @@
|
|
16
16
|
# under the License.
|
17
17
|
from __future__ import annotations
|
18
18
|
|
19
|
-
from
|
19
|
+
from collections.abc import Sequence
|
20
|
+
from typing import TYPE_CHECKING, Any, Callable
|
20
21
|
|
21
22
|
from azure.core.exceptions import ResourceNotFoundError
|
22
23
|
|
@@ -17,13 +17,13 @@
|
|
17
17
|
# under the License.
|
18
18
|
from __future__ import annotations
|
19
19
|
|
20
|
+
from collections.abc import Sequence
|
20
21
|
from functools import cached_property
|
21
|
-
from typing import TYPE_CHECKING, Any
|
22
|
+
from typing import TYPE_CHECKING, Any
|
22
23
|
|
23
24
|
from azure.batch import models as batch_models
|
24
|
-
from deprecated.classic import deprecated
|
25
25
|
|
26
|
-
from airflow.exceptions import AirflowException
|
26
|
+
from airflow.exceptions import AirflowException
|
27
27
|
from airflow.models import BaseOperator
|
28
28
|
from airflow.providers.microsoft.azure.hooks.batch import AzureBatchHook
|
29
29
|
|
@@ -183,11 +183,6 @@ class AzureBatchOperator(BaseOperator):
|
|
183
183
|
"""Create and return an AzureBatchHook (cached)."""
|
184
184
|
return AzureBatchHook(self.azure_batch_conn_id)
|
185
185
|
|
186
|
-
@deprecated(reason="use `hook` property instead.", category=AirflowProviderDeprecationWarning)
|
187
|
-
def get_hook(self) -> AzureBatchHook:
|
188
|
-
"""Create and return an AzureBatchHook."""
|
189
|
-
return self.hook
|
190
|
-
|
191
186
|
def _check_inputs(self) -> Any:
|
192
187
|
if not self.os_family and not self.vm_publisher:
|
193
188
|
raise AirflowException("You must specify either vm_publisher or os_family")
|
@@ -20,7 +20,8 @@ from __future__ import annotations
|
|
20
20
|
import re
|
21
21
|
import time
|
22
22
|
from collections import namedtuple
|
23
|
-
from
|
23
|
+
from collections.abc import Sequence
|
24
|
+
from typing import TYPE_CHECKING, Any
|
24
25
|
|
25
26
|
from azure.mgmt.containerinstance.models import (
|
26
27
|
Container,
|
@@ -17,7 +17,8 @@
|
|
17
17
|
# under the License.
|
18
18
|
from __future__ import annotations
|
19
19
|
|
20
|
-
from
|
20
|
+
from collections.abc import Sequence
|
21
|
+
from typing import TYPE_CHECKING
|
21
22
|
|
22
23
|
from airflow.models import BaseOperator
|
23
24
|
from airflow.providers.microsoft.azure.hooks.cosmos import AzureCosmosDBHook
|
@@ -18,8 +18,9 @@ from __future__ import annotations
|
|
18
18
|
|
19
19
|
import time
|
20
20
|
import warnings
|
21
|
+
from collections.abc import Sequence
|
21
22
|
from functools import cached_property
|
22
|
-
from typing import TYPE_CHECKING, Any
|
23
|
+
from typing import TYPE_CHECKING, Any
|
23
24
|
|
24
25
|
from airflow.configuration import conf
|
25
26
|
from airflow.exceptions import AirflowException
|
@@ -17,12 +17,12 @@
|
|
17
17
|
# under the License.
|
18
18
|
from __future__ import annotations
|
19
19
|
|
20
|
+
from collections.abc import Sequence
|
20
21
|
from copy import deepcopy
|
21
22
|
from typing import (
|
22
23
|
TYPE_CHECKING,
|
23
24
|
Any,
|
24
25
|
Callable,
|
25
|
-
Sequence,
|
26
26
|
)
|
27
27
|
|
28
28
|
from airflow.exceptions import AirflowException, TaskDeferred
|
@@ -280,7 +280,7 @@ class MSGraphAsyncOperator(BaseOperator):
|
|
280
280
|
if top and odata_count:
|
281
281
|
if len(response.get("value", [])) == top and context:
|
282
282
|
results = operator.pull_xcom(context=context)
|
283
|
-
skip = sum(
|
283
|
+
skip = sum([len(result["value"]) for result in results]) + top if results else top # type: ignore
|
284
284
|
query_parameters["$skip"] = skip
|
285
285
|
return operator.url, query_parameters
|
286
286
|
return response.get("@odata.nextLink"), operator.query_parameters
|
@@ -17,13 +17,12 @@
|
|
17
17
|
|
18
18
|
from __future__ import annotations
|
19
19
|
|
20
|
-
from
|
20
|
+
from collections.abc import Sequence
|
21
|
+
from typing import TYPE_CHECKING, Any
|
21
22
|
|
22
23
|
from airflow.exceptions import AirflowException
|
23
24
|
from airflow.models import BaseOperator, BaseOperatorLink
|
24
|
-
from airflow.providers.microsoft.azure.hooks.powerbi import
|
25
|
-
PowerBIHook,
|
26
|
-
)
|
25
|
+
from airflow.providers.microsoft.azure.hooks.powerbi import PowerBIHook
|
27
26
|
from airflow.providers.microsoft.azure.triggers.powerbi import PowerBITrigger
|
28
27
|
|
29
28
|
if TYPE_CHECKING:
|
@@ -16,8 +16,9 @@
|
|
16
16
|
# under the License.
|
17
17
|
from __future__ import annotations
|
18
18
|
|
19
|
+
from collections.abc import Sequence
|
19
20
|
from functools import cached_property
|
20
|
-
from typing import TYPE_CHECKING, Any
|
21
|
+
from typing import TYPE_CHECKING, Any
|
21
22
|
from urllib.parse import urlencode
|
22
23
|
|
23
24
|
from airflow.exceptions import AirflowException
|
@@ -17,7 +17,8 @@
|
|
17
17
|
# under the License.
|
18
18
|
from __future__ import annotations
|
19
19
|
|
20
|
-
from
|
20
|
+
from collections.abc import Sequence
|
21
|
+
from typing import TYPE_CHECKING, Any
|
21
22
|
|
22
23
|
from airflow.models import BaseOperator
|
23
24
|
from airflow.providers.microsoft.azure.hooks.wasb import WasbHook
|
@@ -31,9 +31,7 @@ from functools import cached_property
|
|
31
31
|
from azure.core.exceptions import ResourceNotFoundError
|
32
32
|
from azure.identity import ClientSecretCredential, DefaultAzureCredential
|
33
33
|
from azure.keyvault.secrets import SecretClient
|
34
|
-
from deprecated import deprecated
|
35
34
|
|
36
|
-
from airflow.exceptions import AirflowProviderDeprecationWarning
|
37
35
|
from airflow.providers.microsoft.azure.utils import get_sync_default_azure_credential
|
38
36
|
from airflow.secrets import BaseSecretsBackend
|
39
37
|
from airflow.utils.log.logging_mixin import LoggingMixin
|
@@ -154,24 +152,6 @@ class AzureKeyVaultBackend(BaseSecretsBackend, LoggingMixin):
|
|
154
152
|
|
155
153
|
return self._get_secret(self.connections_prefix, conn_id)
|
156
154
|
|
157
|
-
@deprecated(
|
158
|
-
reason=(
|
159
|
-
"Method `AzureKeyVaultBackend.get_conn_uri` is deprecated and will be removed "
|
160
|
-
"in a future release. Please use method `get_conn_value` instead."
|
161
|
-
),
|
162
|
-
category=AirflowProviderDeprecationWarning,
|
163
|
-
)
|
164
|
-
def get_conn_uri(self, conn_id: str) -> str | None:
|
165
|
-
"""
|
166
|
-
Return URI representation of Connection conn_id.
|
167
|
-
|
168
|
-
As of Airflow version 2.3.0 this method is deprecated.
|
169
|
-
|
170
|
-
:param conn_id: the connection id
|
171
|
-
:return: deserialized Connection
|
172
|
-
"""
|
173
|
-
return self.get_conn_value(conn_id)
|
174
|
-
|
175
155
|
def get_variable(self, key: str) -> str | None:
|
176
156
|
"""
|
177
157
|
Get an Airflow Variable from an Azure Key Vault secret.
|
@@ -17,7 +17,8 @@
|
|
17
17
|
# under the License.
|
18
18
|
from __future__ import annotations
|
19
19
|
|
20
|
-
from
|
20
|
+
from collections.abc import Sequence
|
21
|
+
from typing import TYPE_CHECKING
|
21
22
|
|
22
23
|
from airflow.providers.microsoft.azure.hooks.cosmos import AzureCosmosDBHook
|
23
24
|
from airflow.sensors.base import BaseSensorOperator
|
@@ -16,9 +16,10 @@
|
|
16
16
|
# under the License.
|
17
17
|
from __future__ import annotations
|
18
18
|
|
19
|
+
from collections.abc import Sequence
|
19
20
|
from datetime import timedelta
|
20
21
|
from functools import cached_property
|
21
|
-
from typing import TYPE_CHECKING
|
22
|
+
from typing import TYPE_CHECKING
|
22
23
|
|
23
24
|
from airflow.configuration import conf
|
24
25
|
from airflow.exceptions import AirflowException
|
@@ -17,13 +17,14 @@
|
|
17
17
|
# under the License.
|
18
18
|
from __future__ import annotations
|
19
19
|
|
20
|
-
from
|
20
|
+
from collections.abc import Sequence
|
21
|
+
from typing import TYPE_CHECKING, Any, Callable
|
21
22
|
|
22
23
|
from airflow.exceptions import AirflowException
|
24
|
+
from airflow.providers.common.compat.standard.triggers import TimeDeltaTrigger
|
23
25
|
from airflow.providers.microsoft.azure.hooks.msgraph import KiotaRequestAdapterHook
|
24
26
|
from airflow.providers.microsoft.azure.triggers.msgraph import MSGraphTrigger, ResponseSerializer
|
25
27
|
from airflow.sensors.base import BaseSensorOperator
|
26
|
-
from airflow.triggers.temporal import TimeDeltaTrigger
|
27
28
|
|
28
29
|
if TYPE_CHECKING:
|
29
30
|
from datetime import timedelta
|
@@ -17,13 +17,12 @@
|
|
17
17
|
# under the License.
|
18
18
|
from __future__ import annotations
|
19
19
|
|
20
|
+
from collections.abc import Sequence
|
20
21
|
from datetime import timedelta
|
21
|
-
from typing import TYPE_CHECKING
|
22
|
-
|
23
|
-
from deprecated import deprecated
|
22
|
+
from typing import TYPE_CHECKING
|
24
23
|
|
25
24
|
from airflow.configuration import conf
|
26
|
-
from airflow.exceptions import AirflowException
|
25
|
+
from airflow.exceptions import AirflowException
|
27
26
|
from airflow.providers.microsoft.azure.hooks.wasb import WasbHook
|
28
27
|
from airflow.providers.microsoft.azure.triggers.wasb import WasbBlobSensorTrigger, WasbPrefixSensorTrigger
|
29
28
|
from airflow.sensors.base import BaseSensorOperator
|
@@ -110,36 +109,6 @@ class WasbBlobSensor(BaseSensorOperator):
|
|
110
109
|
raise AirflowException("Did not receive valid event from the triggerer")
|
111
110
|
|
112
111
|
|
113
|
-
@deprecated(
|
114
|
-
reason=(
|
115
|
-
"Class `WasbBlobAsyncSensor` is deprecated and "
|
116
|
-
"will be removed in a future release. "
|
117
|
-
"Please use `WasbBlobSensor` and "
|
118
|
-
"set `deferrable` attribute to `True` instead"
|
119
|
-
),
|
120
|
-
category=AirflowProviderDeprecationWarning,
|
121
|
-
)
|
122
|
-
class WasbBlobAsyncSensor(WasbBlobSensor):
|
123
|
-
"""
|
124
|
-
Poll asynchronously for the existence of a blob in a WASB container.
|
125
|
-
|
126
|
-
This class is deprecated and will be removed in a future release.
|
127
|
-
|
128
|
-
Please use :class:`airflow.providers.microsoft.azure.sensors.wasb.WasbBlobSensor`
|
129
|
-
and set *deferrable* attribute to *True* instead.
|
130
|
-
|
131
|
-
:param container_name: name of the container in which the blob should be searched for
|
132
|
-
:param blob_name: name of the blob to check existence for
|
133
|
-
:param wasb_conn_id: the connection identifier for connecting to Azure WASB
|
134
|
-
:param poke_interval: polling period in seconds to check for the status
|
135
|
-
:param public_read: whether an anonymous public read access should be used. Default is False
|
136
|
-
:param timeout: Time, in seconds before the task times out and fails.
|
137
|
-
"""
|
138
|
-
|
139
|
-
def __init__(self, **kwargs: Any) -> None:
|
140
|
-
super().__init__(**kwargs, deferrable=True)
|
141
|
-
|
142
|
-
|
143
112
|
class WasbPrefixSensor(BaseSensorOperator):
|
144
113
|
"""
|
145
114
|
Wait for blobs matching a prefix to arrive on Azure Blob Storage.
|
@@ -16,7 +16,8 @@
|
|
16
16
|
# under the License.
|
17
17
|
from __future__ import annotations
|
18
18
|
|
19
|
-
from
|
19
|
+
from collections.abc import Sequence
|
20
|
+
from typing import TYPE_CHECKING, Any
|
20
21
|
|
21
22
|
from airflow.exceptions import AirflowException
|
22
23
|
from airflow.models import BaseOperator
|
@@ -17,7 +17,8 @@
|
|
17
17
|
# under the License.
|
18
18
|
from __future__ import annotations
|
19
19
|
|
20
|
-
from
|
20
|
+
from collections.abc import Sequence
|
21
|
+
from typing import TYPE_CHECKING
|
21
22
|
|
22
23
|
from airflow.models import BaseOperator
|
23
24
|
from airflow.providers.microsoft.azure.hooks.wasb import WasbHook
|
@@ -19,8 +19,9 @@ from __future__ import annotations
|
|
19
19
|
|
20
20
|
import csv
|
21
21
|
import os
|
22
|
+
from collections.abc import Sequence
|
22
23
|
from tempfile import TemporaryDirectory
|
23
|
-
from typing import TYPE_CHECKING, Any
|
24
|
+
from typing import TYPE_CHECKING, Any
|
24
25
|
|
25
26
|
from airflow.models import BaseOperator
|
26
27
|
from airflow.providers.microsoft.azure.hooks.data_lake import AzureDataLakeHook
|
@@ -18,8 +18,9 @@
|
|
18
18
|
from __future__ import annotations
|
19
19
|
|
20
20
|
import tempfile
|
21
|
+
from collections.abc import Sequence
|
21
22
|
from functools import cached_property
|
22
|
-
from typing import TYPE_CHECKING
|
23
|
+
from typing import TYPE_CHECKING
|
23
24
|
|
24
25
|
from airflow.models import BaseOperator
|
25
26
|
from airflow.providers.amazon.aws.hooks.s3 import S3Hook
|
@@ -21,9 +21,10 @@ from __future__ import annotations
|
|
21
21
|
|
22
22
|
import os
|
23
23
|
from collections import namedtuple
|
24
|
+
from collections.abc import Sequence
|
24
25
|
from functools import cached_property
|
25
26
|
from tempfile import NamedTemporaryFile
|
26
|
-
from typing import TYPE_CHECKING
|
27
|
+
from typing import TYPE_CHECKING
|
27
28
|
|
28
29
|
if TYPE_CHECKING:
|
29
30
|
from airflow.utils.context import Context
|
@@ -20,14 +20,13 @@ from __future__ import annotations
|
|
20
20
|
import json
|
21
21
|
import locale
|
22
22
|
from base64 import b64encode
|
23
|
+
from collections.abc import AsyncIterator, Sequence
|
23
24
|
from contextlib import suppress
|
24
25
|
from datetime import datetime
|
25
26
|
from json import JSONDecodeError
|
26
27
|
from typing import (
|
27
28
|
TYPE_CHECKING,
|
28
29
|
Any,
|
29
|
-
AsyncIterator,
|
30
|
-
Sequence,
|
31
30
|
)
|
32
31
|
from uuid import UUID
|
33
32
|
|
@@ -19,12 +19,10 @@ from __future__ import annotations
|
|
19
19
|
|
20
20
|
import asyncio
|
21
21
|
import time
|
22
|
-
from
|
22
|
+
from collections.abc import AsyncIterator
|
23
|
+
from typing import TYPE_CHECKING
|
23
24
|
|
24
|
-
from airflow.providers.microsoft.azure.hooks.powerbi import
|
25
|
-
PowerBIDatasetRefreshStatus,
|
26
|
-
PowerBIHook,
|
27
|
-
)
|
25
|
+
from airflow.providers.microsoft.azure.hooks.powerbi import PowerBIDatasetRefreshStatus, PowerBIHook
|
28
26
|
from airflow.triggers.base import BaseTrigger, TriggerEvent
|
29
27
|
|
30
28
|
if TYPE_CHECKING:
|
@@ -105,35 +103,37 @@ class PowerBITrigger(BaseTrigger):
|
|
105
103
|
group_id=self.group_id,
|
106
104
|
)
|
107
105
|
|
108
|
-
async def
|
109
|
-
"""Fetch the current status of the dataset refresh."""
|
106
|
+
async def fetch_refresh_status_and_error() -> tuple[str, str]:
|
107
|
+
"""Fetch the current status and error of the dataset refresh."""
|
110
108
|
refresh_details = await self.hook.get_refresh_details_by_refresh_id(
|
111
109
|
dataset_id=self.dataset_id,
|
112
110
|
group_id=self.group_id,
|
113
111
|
refresh_id=self.dataset_refresh_id,
|
114
112
|
)
|
115
|
-
return refresh_details["status"]
|
113
|
+
return refresh_details["status"], refresh_details["error"]
|
116
114
|
|
117
115
|
try:
|
118
|
-
dataset_refresh_status = await
|
116
|
+
dataset_refresh_status, dataset_refresh_error = await fetch_refresh_status_and_error()
|
119
117
|
start_time = time.monotonic()
|
120
118
|
while start_time + self.timeout > time.monotonic():
|
121
|
-
dataset_refresh_status = await
|
119
|
+
dataset_refresh_status, dataset_refresh_error = await fetch_refresh_status_and_error()
|
122
120
|
|
123
121
|
if dataset_refresh_status == PowerBIDatasetRefreshStatus.COMPLETED:
|
124
122
|
yield TriggerEvent(
|
125
123
|
{
|
126
|
-
"status":
|
124
|
+
"status": "success",
|
125
|
+
"dataset_refresh_status": dataset_refresh_status,
|
127
126
|
"message": f"The dataset refresh {self.dataset_refresh_id} has {dataset_refresh_status}.",
|
128
127
|
"dataset_refresh_id": self.dataset_refresh_id,
|
129
128
|
}
|
130
129
|
)
|
131
130
|
return
|
132
|
-
elif dataset_refresh_status
|
131
|
+
elif dataset_refresh_status in PowerBIDatasetRefreshStatus.FAILURE_STATUSES:
|
133
132
|
yield TriggerEvent(
|
134
133
|
{
|
135
|
-
"status":
|
136
|
-
"
|
134
|
+
"status": "error",
|
135
|
+
"dataset_refresh_status": dataset_refresh_status,
|
136
|
+
"message": f"The dataset refresh {self.dataset_refresh_id} has {dataset_refresh_status}. Error: {dataset_refresh_error}",
|
137
137
|
"dataset_refresh_id": self.dataset_refresh_id,
|
138
138
|
}
|
139
139
|
)
|
@@ -149,6 +149,7 @@ class PowerBITrigger(BaseTrigger):
|
|
149
149
|
yield TriggerEvent(
|
150
150
|
{
|
151
151
|
"status": "error",
|
152
|
+
"dataset_refresh_status": dataset_refresh_status,
|
152
153
|
"message": f"Timeout occurred while waiting for dataset refresh to complete: The dataset refresh {self.dataset_refresh_id} has status {dataset_refresh_status}.",
|
153
154
|
"dataset_refresh_id": self.dataset_refresh_id,
|
154
155
|
}
|
@@ -171,6 +172,7 @@ class PowerBITrigger(BaseTrigger):
|
|
171
172
|
yield TriggerEvent(
|
172
173
|
{
|
173
174
|
"status": "error",
|
175
|
+
"dataset_refresh_status": None,
|
174
176
|
"message": f"An error occurred while canceling dataset: {e}",
|
175
177
|
"dataset_refresh_id": self.dataset_refresh_id,
|
176
178
|
}
|
@@ -179,6 +181,7 @@ class PowerBITrigger(BaseTrigger):
|
|
179
181
|
yield TriggerEvent(
|
180
182
|
{
|
181
183
|
"status": "error",
|
184
|
+
"dataset_refresh_status": None,
|
182
185
|
"message": f"An error occurred: {error}",
|
183
186
|
"dataset_refresh_id": self.dataset_refresh_id,
|
184
187
|
}
|
@@ -17,7 +17,8 @@
|
|
17
17
|
from __future__ import annotations
|
18
18
|
|
19
19
|
import asyncio
|
20
|
-
from
|
20
|
+
from collections.abc import AsyncIterator
|
21
|
+
from typing import Any
|
21
22
|
|
22
23
|
from airflow.providers.microsoft.azure.hooks.wasb import WasbAsyncHook
|
23
24
|
from airflow.triggers.base import BaseTrigger, TriggerEvent
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: apache-airflow-providers-microsoft-azure
|
3
|
-
Version:
|
3
|
+
Version: 12.0.0
|
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>
|
@@ -22,7 +22,7 @@ Classifier: Programming Language :: Python :: 3.12
|
|
22
22
|
Classifier: Topic :: System :: Monitoring
|
23
23
|
Requires-Dist: adal>=1.2.7
|
24
24
|
Requires-Dist: adlfs>=2023.10.0
|
25
|
-
Requires-Dist: apache-airflow>=2.
|
25
|
+
Requires-Dist: apache-airflow>=2.9.0
|
26
26
|
Requires-Dist: azure-batch>=8.0.0
|
27
27
|
Requires-Dist: azure-cosmos>=4.6.0
|
28
28
|
Requires-Dist: azure-datalake-store>=0.0.45
|
@@ -46,20 +46,20 @@ Requires-Dist: microsoft-kiota-abstractions<1.4.0
|
|
46
46
|
Requires-Dist: microsoft-kiota-http>=1.3.0,!=1.3.4
|
47
47
|
Requires-Dist: microsoft-kiota-serialization-json==1.0.0
|
48
48
|
Requires-Dist: microsoft-kiota-serialization-text==1.0.0
|
49
|
-
Requires-Dist: msgraph-core>=1.0.0
|
49
|
+
Requires-Dist: msgraph-core>=1.0.0,!=1.1.8
|
50
50
|
Requires-Dist: apache-airflow-providers-amazon ; extra == "amazon"
|
51
|
-
Requires-Dist: apache-airflow-providers-
|
51
|
+
Requires-Dist: apache-airflow-providers-common-compat ; extra == "common-compat"
|
52
52
|
Requires-Dist: apache-airflow-providers-oracle ; extra == "oracle"
|
53
53
|
Requires-Dist: apache-airflow-providers-sftp ; extra == "sftp"
|
54
54
|
Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
|
55
|
-
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-microsoft-azure/
|
56
|
-
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-microsoft-azure/
|
55
|
+
Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-microsoft-azure/12.0.0/changelog.html
|
56
|
+
Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-microsoft-azure/12.0.0
|
57
57
|
Project-URL: Slack Chat, https://s.apache.org/airflow-slack
|
58
58
|
Project-URL: Source Code, https://github.com/apache/airflow
|
59
|
-
Project-URL: Twitter, https://
|
59
|
+
Project-URL: Twitter, https://x.com/ApacheAirflow
|
60
60
|
Project-URL: YouTube, https://www.youtube.com/channel/UCSXwxpWZQ7XZ1WL3wqevChA/
|
61
61
|
Provides-Extra: amazon
|
62
|
-
Provides-Extra:
|
62
|
+
Provides-Extra: common-compat
|
63
63
|
Provides-Extra: oracle
|
64
64
|
Provides-Extra: sftp
|
65
65
|
|
@@ -107,7 +107,7 @@ Provides-Extra: sftp
|
|
107
107
|
|
108
108
|
Package ``apache-airflow-providers-microsoft-azure``
|
109
109
|
|
110
|
-
Release: ``
|
110
|
+
Release: ``12.0.0``
|
111
111
|
|
112
112
|
|
113
113
|
`Microsoft Azure <https://azure.microsoft.com/>`__
|
@@ -120,7 +120,7 @@ This is a provider package for ``microsoft.azure`` provider. All classes for thi
|
|
120
120
|
are in ``airflow.providers.microsoft.azure`` python package.
|
121
121
|
|
122
122
|
You can find package information and changelog for the provider
|
123
|
-
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-microsoft-azure/
|
123
|
+
in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-microsoft-azure/12.0.0/>`_.
|
124
124
|
|
125
125
|
Installation
|
126
126
|
------------
|
@@ -137,7 +137,7 @@ Requirements
|
|
137
137
|
====================================== ===================
|
138
138
|
PIP package Version required
|
139
139
|
====================================== ===================
|
140
|
-
``apache-airflow`` ``>=2.
|
140
|
+
``apache-airflow`` ``>=2.9.0``
|
141
141
|
``adlfs`` ``>=2023.10.0``
|
142
142
|
``azure-batch`` ``>=8.0.0``
|
143
143
|
``azure-cosmos`` ``>=4.6.0``
|
@@ -159,7 +159,7 @@ PIP package Version required
|
|
159
159
|
``azure-mgmt-datafactory`` ``>=2.0.0``
|
160
160
|
``azure-mgmt-containerregistry`` ``>=8.0.0``
|
161
161
|
``azure-mgmt-containerinstance`` ``>=10.1.0``
|
162
|
-
``msgraph-core`` ``>=1.0.0``
|
162
|
+
``msgraph-core`` ``>=1.0.0,!=1.1.8``
|
163
163
|
``microsoft-kiota-http`` ``>=1.3.0,!=1.3.4``
|
164
164
|
``microsoft-kiota-serialization-json`` ``==1.0.0``
|
165
165
|
``microsoft-kiota-serialization-text`` ``==1.0.0``
|
@@ -179,14 +179,14 @@ You can install such cross-provider dependencies when installing from PyPI. For
|
|
179
179
|
pip install apache-airflow-providers-microsoft-azure[amazon]
|
180
180
|
|
181
181
|
|
182
|
-
|
183
|
-
Dependent package
|
184
|
-
|
185
|
-
`apache-airflow-providers-amazon <https://airflow.apache.org/docs/apache-airflow-providers-amazon>`_
|
186
|
-
`apache-airflow-providers-
|
187
|
-
`apache-airflow-providers-oracle <https://airflow.apache.org/docs/apache-airflow-providers-oracle>`_
|
188
|
-
`apache-airflow-providers-sftp <https://airflow.apache.org/docs/apache-airflow-providers-sftp>`_
|
189
|
-
|
182
|
+
================================================================================================================== =================
|
183
|
+
Dependent package Extra
|
184
|
+
================================================================================================================== =================
|
185
|
+
`apache-airflow-providers-amazon <https://airflow.apache.org/docs/apache-airflow-providers-amazon>`_ ``amazon``
|
186
|
+
`apache-airflow-providers-common-compat <https://airflow.apache.org/docs/apache-airflow-providers-common-compat>`_ ``common.compat``
|
187
|
+
`apache-airflow-providers-oracle <https://airflow.apache.org/docs/apache-airflow-providers-oracle>`_ ``oracle``
|
188
|
+
`apache-airflow-providers-sftp <https://airflow.apache.org/docs/apache-airflow-providers-sftp>`_ ``sftp``
|
189
|
+
================================================================================================================== =================
|
190
190
|
|
191
191
|
The changelog for the provider package can be found in the
|
192
|
-
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-microsoft-azure/
|
192
|
+
`changelog <https://airflow.apache.org/docs/apache-airflow-providers-microsoft-azure/12.0.0/changelog.html>`_.
|
@@ -0,0 +1,58 @@
|
|
1
|
+
airflow/providers/microsoft/azure/LICENSE,sha256=FFb4jd2AXnOOf7XLP04pQW6jbdhG49TxlGY6fFpCV1Y,13609
|
2
|
+
airflow/providers/microsoft/azure/__init__.py,sha256=G3EAHqoAbGgILqgwXOx4q5lg7rNKrOmFhekysP1qKoM,1503
|
3
|
+
airflow/providers/microsoft/azure/get_provider_info.py,sha256=Ozy4t-3puw5vioat3ukqwq1-moLjPUpcKTtYH0J0LTI,21673
|
4
|
+
airflow/providers/microsoft/azure/utils.py,sha256=pvBiwBKRYMtEnqkQWLTqvhrsCOkMTRiPH97GkIYHUQc,8429
|
5
|
+
airflow/providers/microsoft/azure/fs/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
6
|
+
airflow/providers/microsoft/azure/fs/adls.py,sha256=kXZOVulLNfqwJNR0X9MBN23kcYr3dyv8K_0KqAcWvnk,3679
|
7
|
+
airflow/providers/microsoft/azure/hooks/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
8
|
+
airflow/providers/microsoft/azure/hooks/adx.py,sha256=6AWjYx57nUA79L0DpTrq0PNWKvUYK_HezWdoVW1mBug,9583
|
9
|
+
airflow/providers/microsoft/azure/hooks/asb.py,sha256=PclFRd6C8UKddFR0BGITOWtXsCF53lK0PY8NfXag3OY,16321
|
10
|
+
airflow/providers/microsoft/azure/hooks/base_azure.py,sha256=ZNTjfKiHM91dQ8imc2VPxorj3fOlzkv2SgTxy008Zr0,5389
|
11
|
+
airflow/providers/microsoft/azure/hooks/batch.py,sha256=BK2ciseUyGNFxOC0mEnPohZRfBlHf_UTyE0mB0tvn0g,16114
|
12
|
+
airflow/providers/microsoft/azure/hooks/container_instance.py,sha256=BbhWTGhrTOejMJkSLZUG3msQXTpk8L0Ol2FQEDOFIGA,7138
|
13
|
+
airflow/providers/microsoft/azure/hooks/container_registry.py,sha256=ii6GiOvl3p0lSGEyerHuhpvJC1bh18Asz4QmatXipYY,4855
|
14
|
+
airflow/providers/microsoft/azure/hooks/container_volume.py,sha256=ZSe2C3y5xttxp8Ir9dgihZnQzcArckhPazxHg1iknYk,5758
|
15
|
+
airflow/providers/microsoft/azure/hooks/cosmos.py,sha256=pE7MyNJx-u6pr_NlK5W2hv--wGBuDjSjPfeneZhky70,17466
|
16
|
+
airflow/providers/microsoft/azure/hooks/data_factory.py,sha256=Yj65yLD2e_uIOyV8b4FN528tMj-6zz6PcHIvepdfvPE,44986
|
17
|
+
airflow/providers/microsoft/azure/hooks/data_lake.py,sha256=3Ra6wCCp2qVnvXZb407W2G6UqRvM1J3JIMr4wfRMwyo,23824
|
18
|
+
airflow/providers/microsoft/azure/hooks/fileshare.py,sha256=jaHSD_xZxposSD5FbdlpZ7JK_CugFHNrgejZkZbHJXM,10884
|
19
|
+
airflow/providers/microsoft/azure/hooks/msgraph.py,sha256=8r8k8R9kmJK-RQDy2AQmHPjDu-zXO2sQV0bU3-zpcgo,17730
|
20
|
+
airflow/providers/microsoft/azure/hooks/powerbi.py,sha256=RdhiHeJExf7D1M3HslagprGvM37aN_BWqQQ-xafz2z4,7501
|
21
|
+
airflow/providers/microsoft/azure/hooks/synapse.py,sha256=ya4bByYKgfvUyqs3H_jCUyu2HfI0lmhNSuoKguJrPHU,16078
|
22
|
+
airflow/providers/microsoft/azure/hooks/wasb.py,sha256=NKChczpWD1IJ45Wr8PQR9I5Y0VH6mdGkk593Q8MZS0I,30827
|
23
|
+
airflow/providers/microsoft/azure/log/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
24
|
+
airflow/providers/microsoft/azure/log/wasb_task_handler.py,sha256=SfiBAaNDyMUuwVy8oGSgISfdLnWS62YW-Y_Y6eWuTrA,8459
|
25
|
+
airflow/providers/microsoft/azure/operators/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
26
|
+
airflow/providers/microsoft/azure/operators/adls.py,sha256=xLcaYKMFkygveTSGzFY1Y1oEzzliu3b77fumxYzYss8,5816
|
27
|
+
airflow/providers/microsoft/azure/operators/adx.py,sha256=eUHEhJ18gL3kdCqNaQ-3BL5rSoorOxtMLBjIAx7xcxY,3173
|
28
|
+
airflow/providers/microsoft/azure/operators/asb.py,sha256=P1SY0RUYg28pWJWkS-xhuJTXVSz2yUbAVFbHcusIYNo,30527
|
29
|
+
airflow/providers/microsoft/azure/operators/batch.py,sha256=QgtmaUYgejLtER68o0dDhLRJSGM4WqmstW5Guy7I30U,16270
|
30
|
+
airflow/providers/microsoft/azure/operators/container_instances.py,sha256=EL2c4uBlFTgvi4gm8xNkxGnyhFnwI8IvltG-tcklOFY,18410
|
31
|
+
airflow/providers/microsoft/azure/operators/cosmos.py,sha256=apq0wVYslRaO-ThXGnVyf7v_DovK951vaE7LxcVYU4E,2814
|
32
|
+
airflow/providers/microsoft/azure/operators/data_factory.py,sha256=IzEdTC1vd3NSFFQSlKLIi2n8hbS3WaEWVA3AKdIKoss,12468
|
33
|
+
airflow/providers/microsoft/azure/operators/msgraph.py,sha256=Rzs6_y7TsKusXgbWnKNjbqC2loZfwciNI4NNrvy81is,11993
|
34
|
+
airflow/providers/microsoft/azure/operators/powerbi.py,sha256=KRmtbOANNEVhlu2muP21Qa86BlBKy77e1FCUDHKsS7U,4913
|
35
|
+
airflow/providers/microsoft/azure/operators/synapse.py,sha256=gFthkMKG5Jpr__jNtXyG6Mp9f5l0P8bkZnd6epbYpC4,12413
|
36
|
+
airflow/providers/microsoft/azure/operators/wasb_delete_blob.py,sha256=RQQz_xvcjyfY3AuIVkK-J-rkPF3rT-z4SJNPY-fpyZQ,2714
|
37
|
+
airflow/providers/microsoft/azure/secrets/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
38
|
+
airflow/providers/microsoft/azure/secrets/key_vault.py,sha256=EmtGfyBtfefGu1ZTtZ5WswIleOx-nx8wst7xfcua2rI,8962
|
39
|
+
airflow/providers/microsoft/azure/sensors/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
40
|
+
airflow/providers/microsoft/azure/sensors/cosmos.py,sha256=MI1MTpWavmMkb4-vG56I6B8dKISj4xTjx8yWPT_Fbpc,2664
|
41
|
+
airflow/providers/microsoft/azure/sensors/data_factory.py,sha256=EEkXMZvB5vZyq0UPHyifRzcwSHgHqdwjtsrT49VsKU4,5014
|
42
|
+
airflow/providers/microsoft/azure/sensors/msgraph.py,sha256=Hf3gnYmeIRx_ep-TiBq45fLVPRPcIgbNzBuN5GbeaHI,7126
|
43
|
+
airflow/providers/microsoft/azure/sensors/wasb.py,sha256=XA8prd03a5iYEguu3OraI1zUAecR9Lst16aNz8BBCAA,7382
|
44
|
+
airflow/providers/microsoft/azure/transfers/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
45
|
+
airflow/providers/microsoft/azure/transfers/local_to_adls.py,sha256=4IbeumUCIFQaATfbCqPoOenN9ZfvXnWLl1uwBtLH6ps,4203
|
46
|
+
airflow/providers/microsoft/azure/transfers/local_to_wasb.py,sha256=Wc1T8w36flNNuAfHBvsAPerwH6FvK_Ppt0QqS5gSMSU,2963
|
47
|
+
airflow/providers/microsoft/azure/transfers/oracle_to_azure_data_lake.py,sha256=bi1XjwYozk3oAkY83aZspkPGAUKIT9mnXVggP6g3uMU,4495
|
48
|
+
airflow/providers/microsoft/azure/transfers/s3_to_wasb.py,sha256=53If9gvBbMnCnjdncwzXQgUHMG1DB4wYftfX82LYieg,12509
|
49
|
+
airflow/providers/microsoft/azure/transfers/sftp_to_wasb.py,sha256=UU_PFJlmsd8xz3rM7qZdndIUmWYfM7E4QYUN293hHD4,8222
|
50
|
+
airflow/providers/microsoft/azure/triggers/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
51
|
+
airflow/providers/microsoft/azure/triggers/data_factory.py,sha256=U3vY_pj4yORxE7X6YR7CP3Jl73K9euCdUczy3dLmikU,11165
|
52
|
+
airflow/providers/microsoft/azure/triggers/msgraph.py,sha256=k7Wu-DJZLT6sCLuYByfap_4cNerf0edqAItHBxGRcGk,8636
|
53
|
+
airflow/providers/microsoft/azure/triggers/powerbi.py,sha256=YgGKnQt7g5-2y8J12DW0BV0zmbf-_gMYquhbfLogGm8,7993
|
54
|
+
airflow/providers/microsoft/azure/triggers/wasb.py,sha256=RF-C6iqDEs6_pWireCWZXqxcqWK-sFJ695Okdd_EJOA,7456
|
55
|
+
apache_airflow_providers_microsoft_azure-12.0.0.dist-info/entry_points.txt,sha256=6iWHenOoUC3YZBb3OKn6g0HlJsV58Ba56i8USmQrcJI,111
|
56
|
+
apache_airflow_providers_microsoft_azure-12.0.0.dist-info/WHEEL,sha256=CpUCUxeHQbRN5UGRQHYRJorO5Af-Qy_fHMctcQ8DSGI,82
|
57
|
+
apache_airflow_providers_microsoft_azure-12.0.0.dist-info/METADATA,sha256=DGojNQrLzsyhm7dx-xU6PSBfzi9SLpQUR-VI72mF1GI,9205
|
58
|
+
apache_airflow_providers_microsoft_azure-12.0.0.dist-info/RECORD,,
|
@@ -1,44 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# Licensed to the Apache Software Foundation (ASF) under one
|
3
|
-
# or more contributor license agreements. See the NOTICE file
|
4
|
-
# distributed with this work for additional information
|
5
|
-
# regarding copyright ownership. The ASF licenses this file
|
6
|
-
# to you under the Apache License, Version 2.0 (the
|
7
|
-
# "License"); you may not use this file except in compliance
|
8
|
-
# with the License. You may obtain a copy of the License at
|
9
|
-
#
|
10
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
-
#
|
12
|
-
# Unless required by applicable law or agreed to in writing,
|
13
|
-
# software distributed under the License is distributed on an
|
14
|
-
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
15
|
-
# KIND, either express or implied. See the License for the
|
16
|
-
# specific language governing permissions and limitations
|
17
|
-
# under the License.
|
18
|
-
from __future__ import annotations
|
19
|
-
|
20
|
-
from deprecated import deprecated
|
21
|
-
|
22
|
-
from airflow.exceptions import AirflowProviderDeprecationWarning
|
23
|
-
from airflow.providers.google.cloud.transfers.azure_blob_to_gcs import (
|
24
|
-
AzureBlobStorageToGCSOperator as AzureBlobStorageToGCSOperatorFromGoogleProvider,
|
25
|
-
)
|
26
|
-
|
27
|
-
|
28
|
-
@deprecated(
|
29
|
-
reason=(
|
30
|
-
"Please use "
|
31
|
-
"`airflow.providers.google.cloud.transfers.azure_blob_to_gcs.AzureBlobStorageToGCSOperator`."
|
32
|
-
),
|
33
|
-
category=AirflowProviderDeprecationWarning,
|
34
|
-
)
|
35
|
-
class AzureBlobStorageToGCSOperator(AzureBlobStorageToGCSOperatorFromGoogleProvider):
|
36
|
-
"""
|
37
|
-
This class is deprecated.
|
38
|
-
|
39
|
-
Please use
|
40
|
-
:class:`airflow.providers.google.cloud.transfers.azure_blob_to_gcs.AzureBlobStorageToGCSOperator`.
|
41
|
-
"""
|
42
|
-
|
43
|
-
def __init__(self, *args, **kwargs):
|
44
|
-
super().__init__(*args, **kwargs)
|
@@ -1,59 +0,0 @@
|
|
1
|
-
airflow/providers/microsoft/azure/LICENSE,sha256=FFb4jd2AXnOOf7XLP04pQW6jbdhG49TxlGY6fFpCV1Y,13609
|
2
|
-
airflow/providers/microsoft/azure/__init__.py,sha256=OzzgoAVBffv1_UwSHlF7Xwi82gswR2xPhjw4198poKY,1503
|
3
|
-
airflow/providers/microsoft/azure/get_provider_info.py,sha256=Qy5T32RdbAAFwPvKX_7iAxJgIiSoOeeO5jQCURC79Ao,21846
|
4
|
-
airflow/providers/microsoft/azure/utils.py,sha256=pvBiwBKRYMtEnqkQWLTqvhrsCOkMTRiPH97GkIYHUQc,8429
|
5
|
-
airflow/providers/microsoft/azure/fs/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
6
|
-
airflow/providers/microsoft/azure/fs/adls.py,sha256=kXZOVulLNfqwJNR0X9MBN23kcYr3dyv8K_0KqAcWvnk,3679
|
7
|
-
airflow/providers/microsoft/azure/hooks/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
8
|
-
airflow/providers/microsoft/azure/hooks/adx.py,sha256=ufxzcrLFHu-sr_0EySxEQRjEA3bHSZSl7D_U0bP-Ig4,10000
|
9
|
-
airflow/providers/microsoft/azure/hooks/asb.py,sha256=PclFRd6C8UKddFR0BGITOWtXsCF53lK0PY8NfXag3OY,16321
|
10
|
-
airflow/providers/microsoft/azure/hooks/base_azure.py,sha256=DzqBDInE0vSPvWRK3AYBC9q74E4dLQRSkwjhY2nVyC0,6283
|
11
|
-
airflow/providers/microsoft/azure/hooks/batch.py,sha256=BK2ciseUyGNFxOC0mEnPohZRfBlHf_UTyE0mB0tvn0g,16114
|
12
|
-
airflow/providers/microsoft/azure/hooks/container_instance.py,sha256=KAzkf1veBJ4AtCvOY_WFa5HqZUoQJOMHekeAJUnmg1I,9015
|
13
|
-
airflow/providers/microsoft/azure/hooks/container_registry.py,sha256=ii6GiOvl3p0lSGEyerHuhpvJC1bh18Asz4QmatXipYY,4855
|
14
|
-
airflow/providers/microsoft/azure/hooks/container_volume.py,sha256=ZSe2C3y5xttxp8Ir9dgihZnQzcArckhPazxHg1iknYk,5758
|
15
|
-
airflow/providers/microsoft/azure/hooks/cosmos.py,sha256=UCEM1xFj5wOGdNgy45fjbXgaB1QQWYaw12UD9TZVS1c,17472
|
16
|
-
airflow/providers/microsoft/azure/hooks/data_factory.py,sha256=f6fM8Oq9Cqrcj1lhKNvfWDysJEfa8RGX0alNWOnyryQ,45556
|
17
|
-
airflow/providers/microsoft/azure/hooks/data_lake.py,sha256=3Ra6wCCp2qVnvXZb407W2G6UqRvM1J3JIMr4wfRMwyo,23824
|
18
|
-
airflow/providers/microsoft/azure/hooks/fileshare.py,sha256=jaHSD_xZxposSD5FbdlpZ7JK_CugFHNrgejZkZbHJXM,10884
|
19
|
-
airflow/providers/microsoft/azure/hooks/msgraph.py,sha256=KUHfpwEIiYjEIuUKismgmhiDRsn2VKIFQOmj9AC99YA,15578
|
20
|
-
airflow/providers/microsoft/azure/hooks/powerbi.py,sha256=TDigFDTxiaFou9GYBFQPLmKe1px5Mi3zzsjcjbFu1mo,7459
|
21
|
-
airflow/providers/microsoft/azure/hooks/synapse.py,sha256=VNFLIA6T55_db9ZgwF6zMY2Ri5hpjOpvLL5zNt8019Y,16595
|
22
|
-
airflow/providers/microsoft/azure/hooks/wasb.py,sha256=NKChczpWD1IJ45Wr8PQR9I5Y0VH6mdGkk593Q8MZS0I,30827
|
23
|
-
airflow/providers/microsoft/azure/log/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
24
|
-
airflow/providers/microsoft/azure/log/wasb_task_handler.py,sha256=SfiBAaNDyMUuwVy8oGSgISfdLnWS62YW-Y_Y6eWuTrA,8459
|
25
|
-
airflow/providers/microsoft/azure/operators/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
26
|
-
airflow/providers/microsoft/azure/operators/adls.py,sha256=CSTn9Ukpcs8e5AUEGUM7nmn2vlzRQQ_mRTQ4TsB30pU,5789
|
27
|
-
airflow/providers/microsoft/azure/operators/adx.py,sha256=2dWB1SUHtjn7WmDIKoOONt0Zll9F5n3JJSY2GmNUgRw,3407
|
28
|
-
airflow/providers/microsoft/azure/operators/asb.py,sha256=95VRj7q7gtImiOiFZE7d4rmPdaMq1PhO9li7b-os_g8,30500
|
29
|
-
airflow/providers/microsoft/azure/operators/batch.py,sha256=BxhI8H9vzCtvPZo7bjQtNirRAlRCOyo8UK2D7GZCJkk,16538
|
30
|
-
airflow/providers/microsoft/azure/operators/container_instances.py,sha256=4V9gNYhwRTr_4rz7Rdlrfuxv975DsHSQKXixtdCtbt0,18383
|
31
|
-
airflow/providers/microsoft/azure/operators/cosmos.py,sha256=EyQQOhQmb0S1N32HrBKagjlij3lkoEPF4LZJ3SRZjHg,2787
|
32
|
-
airflow/providers/microsoft/azure/operators/data_factory.py,sha256=TrPMXlOAY3VHVeoysqJnq-ugBC_H53cKKSGfJfu9Dno,12441
|
33
|
-
airflow/providers/microsoft/azure/operators/msgraph.py,sha256=9xcqn819W6MFbYzA1jXXmSTfGv4mb3wSdowtRK5xNAg,11959
|
34
|
-
airflow/providers/microsoft/azure/operators/powerbi.py,sha256=APcUeCbwcK4plX5upIiQ7MpuiTjksWloot8rQieameE,4895
|
35
|
-
airflow/providers/microsoft/azure/operators/synapse.py,sha256=gDniGvmCUooT8_jvIAJlc8zgPS57d0N_esL4e9xz7bo,12386
|
36
|
-
airflow/providers/microsoft/azure/operators/wasb_delete_blob.py,sha256=GUfV9DLU1bGYvn2TE54iTYBTbxn3Jm_e985pXp_0IsE,2687
|
37
|
-
airflow/providers/microsoft/azure/secrets/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
38
|
-
airflow/providers/microsoft/azure/secrets/key_vault.py,sha256=m8IwaMpXb9Zr0IPO_Tw9RTmM3xx_RlAHl5rNSqNFt28,9666
|
39
|
-
airflow/providers/microsoft/azure/sensors/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
40
|
-
airflow/providers/microsoft/azure/sensors/cosmos.py,sha256=vRrJ8zJnApvuKxHia53tNZUZ7wILWFT3_5cEyMA2M1I,2637
|
41
|
-
airflow/providers/microsoft/azure/sensors/data_factory.py,sha256=pgQLIFkuy9jm14sycB3PZ3OBmCtc43bfQDeyu24wJbY,4987
|
42
|
-
airflow/providers/microsoft/azure/sensors/msgraph.py,sha256=IMRxgQvrWkWuEI3iiQePICpacR4PL4mtpLQyF8RPiPk,7075
|
43
|
-
airflow/providers/microsoft/azure/sensors/wasb.py,sha256=KZN9EsLfywmfpAnJHf7tvK6bmBcOCFfeshfN4vPv9m8,8643
|
44
|
-
airflow/providers/microsoft/azure/transfers/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
45
|
-
airflow/providers/microsoft/azure/transfers/azure_blob_to_gcs.py,sha256=nJgDlO6Q5saW-ZbRntTZyurwsRLHVM2zwD7YkrdJF_s,1628
|
46
|
-
airflow/providers/microsoft/azure/transfers/local_to_adls.py,sha256=8sJhFGTLPapZzFWog2wc09xdOvwxP9Az-fKNSNj4MTM,4176
|
47
|
-
airflow/providers/microsoft/azure/transfers/local_to_wasb.py,sha256=4CK9OKBW07BH4oCADES8O0_CMAXRM9sbe_qHsmLvvPA,2936
|
48
|
-
airflow/providers/microsoft/azure/transfers/oracle_to_azure_data_lake.py,sha256=vLJUqbnri2pAp2G6HTcMuWEmsXC0PcspA4O-otN_eJM,4468
|
49
|
-
airflow/providers/microsoft/azure/transfers/s3_to_wasb.py,sha256=a62xsmPIVGOyVqNdqnYD_VTf8wEIzc3XOPNd4b13lXY,12482
|
50
|
-
airflow/providers/microsoft/azure/transfers/sftp_to_wasb.py,sha256=bg_r8vRUgffIvkHf7x4-Ekgu0uzx-YzO2p7F_WZIbaI,8195
|
51
|
-
airflow/providers/microsoft/azure/triggers/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
52
|
-
airflow/providers/microsoft/azure/triggers/data_factory.py,sha256=UjSvsvN6bh0BZMw8QXr8f_67yETh6AymJpKJ7stCk4s,11138
|
53
|
-
airflow/providers/microsoft/azure/triggers/msgraph.py,sha256=PSAyB93ajaM5lCBlm9gjxLatVPpWK_ZsRUAWw5SktRE,8617
|
54
|
-
airflow/providers/microsoft/azure/triggers/powerbi.py,sha256=ecBDVfJioMTmf3bG9mo4vFllFBKzzjYi_V2_k52A1sE,7504
|
55
|
-
airflow/providers/microsoft/azure/triggers/wasb.py,sha256=PkCoOGGNpqOukIeHtgBGrCRPWn4aAOXA6eOOnobzVNw,7429
|
56
|
-
apache_airflow_providers_microsoft_azure-11.1.0.dist-info/entry_points.txt,sha256=6iWHenOoUC3YZBb3OKn6g0HlJsV58Ba56i8USmQrcJI,111
|
57
|
-
apache_airflow_providers_microsoft_azure-11.1.0.dist-info/WHEEL,sha256=CpUCUxeHQbRN5UGRQHYRJorO5Af-Qy_fHMctcQ8DSGI,82
|
58
|
-
apache_airflow_providers_microsoft_azure-11.1.0.dist-info/METADATA,sha256=rGuV0m7Wy9-miv7QE9ltWqJNQHbxTI4P_aC6rW9ulqY,9034
|
59
|
-
apache_airflow_providers_microsoft_azure-11.1.0.dist-info/RECORD,,
|
File without changes
|