apache-airflow-providers-microsoft-azure 10.1.0__py3-none-any.whl → 10.1.0rc1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- airflow/providers/microsoft/azure/__init__.py +5 -2
- airflow/providers/microsoft/azure/get_provider_info.py +1 -1
- airflow/providers/microsoft/azure/hooks/msgraph.py +23 -18
- airflow/providers/microsoft/azure/operators/msgraph.py +13 -2
- airflow/providers/microsoft/azure/sensors/msgraph.py +52 -66
- airflow/providers/microsoft/azure/triggers/msgraph.py +11 -0
- {apache_airflow_providers_microsoft_azure-10.1.0.dist-info → apache_airflow_providers_microsoft_azure-10.1.0rc1.dist-info}/METADATA +3 -3
- {apache_airflow_providers_microsoft_azure-10.1.0.dist-info → apache_airflow_providers_microsoft_azure-10.1.0rc1.dist-info}/RECORD +10 -10
- {apache_airflow_providers_microsoft_azure-10.1.0.dist-info → apache_airflow_providers_microsoft_azure-10.1.0rc1.dist-info}/WHEEL +0 -0
- {apache_airflow_providers_microsoft_azure-10.1.0.dist-info → apache_airflow_providers_microsoft_azure-10.1.0rc1.dist-info}/entry_points.txt +0 -0
@@ -25,12 +25,15 @@ from __future__ import annotations
|
|
25
25
|
|
26
26
|
import packaging.version
|
27
27
|
|
28
|
-
from airflow import __version__ as airflow_version
|
29
|
-
|
30
28
|
__all__ = ["__version__"]
|
31
29
|
|
32
30
|
__version__ = "10.1.0"
|
33
31
|
|
32
|
+
try:
|
33
|
+
from airflow import __version__ as airflow_version
|
34
|
+
except ImportError:
|
35
|
+
from airflow.version import version as airflow_version
|
36
|
+
|
34
37
|
if packaging.version.parse(packaging.version.parse(airflow_version).base_version) < packaging.version.parse(
|
35
38
|
"2.7.0"
|
36
39
|
):
|
@@ -28,7 +28,7 @@ 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": 1714476738,
|
32
32
|
"versions": [
|
33
33
|
"10.1.0",
|
34
34
|
"10.0.0",
|
@@ -18,11 +18,9 @@
|
|
18
18
|
from __future__ import annotations
|
19
19
|
|
20
20
|
import json
|
21
|
-
from contextlib import suppress
|
22
21
|
from http import HTTPStatus
|
23
22
|
from io import BytesIO
|
24
|
-
from
|
25
|
-
from typing import TYPE_CHECKING, Any
|
23
|
+
from typing import TYPE_CHECKING, Any, Callable
|
26
24
|
from urllib.parse import quote, urljoin, urlparse
|
27
25
|
|
28
26
|
import httpx
|
@@ -53,17 +51,18 @@ if TYPE_CHECKING:
|
|
53
51
|
from airflow.models import Connection
|
54
52
|
|
55
53
|
|
56
|
-
class
|
57
|
-
"""
|
54
|
+
class CallableResponseHandler(ResponseHandler):
|
55
|
+
"""
|
56
|
+
CallableResponseHandler executes the passed callable_function with response as parameter.
|
58
57
|
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
58
|
+
param callable_function: Function that is applied to the response.
|
59
|
+
"""
|
60
|
+
|
61
|
+
def __init__(
|
62
|
+
self,
|
63
|
+
callable_function: Callable[[NativeResponseType, dict[str, ParsableFactory | None] | None], Any],
|
64
|
+
):
|
65
|
+
self.callable_function = callable_function
|
67
66
|
|
68
67
|
async def handle_response_async(
|
69
68
|
self, response: NativeResponseType, error_map: dict[str, ParsableFactory | None] | None = None
|
@@ -74,7 +73,7 @@ class DefaultResponseHandler(ResponseHandler):
|
|
74
73
|
param response: The type of the native response object.
|
75
74
|
param error_map: The error dict to use in case of a failed request.
|
76
75
|
"""
|
77
|
-
value = self.
|
76
|
+
value = self.callable_function(response, error_map)
|
78
77
|
if response.status_code not in {200, 201, 202, 204, 302}:
|
79
78
|
message = value or response.reason_phrase
|
80
79
|
status_code = HTTPStatus(response.status_code)
|
@@ -270,18 +269,20 @@ class KiotaRequestAdapterHook(BaseHook):
|
|
270
269
|
self,
|
271
270
|
url: str = "",
|
272
271
|
response_type: ResponseType | None = None,
|
272
|
+
response_handler: Callable[
|
273
|
+
[NativeResponseType, dict[str, ParsableFactory | None] | None], Any
|
274
|
+
] = lambda response, error_map: response.json(),
|
273
275
|
path_parameters: dict[str, Any] | None = None,
|
274
276
|
method: str = "GET",
|
275
277
|
query_parameters: dict[str, QueryParams] | None = None,
|
276
278
|
headers: dict[str, str] | None = None,
|
277
279
|
data: dict[str, Any] | str | BytesIO | None = None,
|
278
280
|
):
|
279
|
-
self.log.info("Executing url '%s' as '%s'", url, method)
|
280
|
-
|
281
281
|
response = await self.get_conn().send_primitive_async(
|
282
282
|
request_info=self.request_information(
|
283
283
|
url=url,
|
284
284
|
response_type=response_type,
|
285
|
+
response_handler=response_handler,
|
285
286
|
path_parameters=path_parameters,
|
286
287
|
method=method,
|
287
288
|
query_parameters=query_parameters,
|
@@ -292,7 +293,7 @@ class KiotaRequestAdapterHook(BaseHook):
|
|
292
293
|
error_map=self.error_mapping(),
|
293
294
|
)
|
294
295
|
|
295
|
-
self.log.
|
296
|
+
self.log.debug("response: %s", response)
|
296
297
|
|
297
298
|
return response
|
298
299
|
|
@@ -300,6 +301,9 @@ class KiotaRequestAdapterHook(BaseHook):
|
|
300
301
|
self,
|
301
302
|
url: str,
|
302
303
|
response_type: ResponseType | None = None,
|
304
|
+
response_handler: Callable[
|
305
|
+
[NativeResponseType, dict[str, ParsableFactory | None] | None], Any
|
306
|
+
] = lambda response, error_map: response.json(),
|
303
307
|
path_parameters: dict[str, Any] | None = None,
|
304
308
|
method: str = "GET",
|
305
309
|
query_parameters: dict[str, QueryParams] | None = None,
|
@@ -319,11 +323,12 @@ class KiotaRequestAdapterHook(BaseHook):
|
|
319
323
|
request_information.url_template = f"{{+baseurl}}/{self.normalize_url(url)}"
|
320
324
|
if not response_type:
|
321
325
|
request_information.request_options[ResponseHandlerOption.get_key()] = ResponseHandlerOption(
|
322
|
-
response_handler=
|
326
|
+
response_handler=CallableResponseHandler(response_handler)
|
323
327
|
)
|
324
328
|
headers = {**self.DEFAULT_HEADERS, **headers} if headers else self.DEFAULT_HEADERS
|
325
329
|
for header_name, header_value in headers.items():
|
326
330
|
request_information.headers.try_add(header_name=header_name, header_value=header_value)
|
331
|
+
self.log.info("data: %s", data)
|
327
332
|
if isinstance(data, BytesIO) or isinstance(data, bytes) or isinstance(data, str):
|
328
333
|
request_information.content = data
|
329
334
|
elif data:
|
@@ -39,6 +39,8 @@ if TYPE_CHECKING:
|
|
39
39
|
|
40
40
|
from kiota_abstractions.request_adapter import ResponseType
|
41
41
|
from kiota_abstractions.request_information import QueryParams
|
42
|
+
from kiota_abstractions.response_handler import NativeResponseType
|
43
|
+
from kiota_abstractions.serialization import ParsableFactory
|
42
44
|
from msgraph_core import APIVersion
|
43
45
|
|
44
46
|
from airflow.utils.context import Context
|
@@ -57,6 +59,9 @@ class MSGraphAsyncOperator(BaseOperator):
|
|
57
59
|
:param url: The url being executed on the Microsoft Graph API (templated).
|
58
60
|
:param response_type: The expected return type of the response as a string. Possible value are: `bytes`,
|
59
61
|
`str`, `int`, `float`, `bool` and `datetime` (default is None).
|
62
|
+
:param response_handler: Function to convert the native HTTPX response returned by the hook (default is
|
63
|
+
lambda response, error_map: response.json()). The default expression will convert the native response
|
64
|
+
to JSON. If response_type parameter is specified, then the response_handler will be ignored.
|
60
65
|
:param method: The HTTP method being used to do the REST call (default is GET).
|
61
66
|
:param conn_id: The HTTP Connection ID to run the operator against (templated).
|
62
67
|
:param key: The key that will be used to store `XCom's` ("return_value" is default).
|
@@ -89,6 +94,9 @@ class MSGraphAsyncOperator(BaseOperator):
|
|
89
94
|
*,
|
90
95
|
url: str,
|
91
96
|
response_type: ResponseType | None = None,
|
97
|
+
response_handler: Callable[
|
98
|
+
[NativeResponseType, dict[str, ParsableFactory | None] | None], Any
|
99
|
+
] = lambda response, error_map: response.json(),
|
92
100
|
path_parameters: dict[str, Any] | None = None,
|
93
101
|
url_template: str | None = None,
|
94
102
|
method: str = "GET",
|
@@ -108,6 +116,7 @@ class MSGraphAsyncOperator(BaseOperator):
|
|
108
116
|
super().__init__(**kwargs)
|
109
117
|
self.url = url
|
110
118
|
self.response_type = response_type
|
119
|
+
self.response_handler = response_handler
|
111
120
|
self.path_parameters = path_parameters
|
112
121
|
self.url_template = url_template
|
113
122
|
self.method = method
|
@@ -125,6 +134,7 @@ class MSGraphAsyncOperator(BaseOperator):
|
|
125
134
|
self.results: list[Any] | None = None
|
126
135
|
|
127
136
|
def execute(self, context: Context) -> None:
|
137
|
+
self.log.info("Executing url '%s' as '%s'", self.url, self.method)
|
128
138
|
self.defer(
|
129
139
|
trigger=MSGraphTrigger(
|
130
140
|
url=self.url,
|
@@ -157,14 +167,14 @@ class MSGraphAsyncOperator(BaseOperator):
|
|
157
167
|
self.log.debug("context: %s", context)
|
158
168
|
|
159
169
|
if event:
|
160
|
-
self.log.
|
170
|
+
self.log.info("%s completed with %s: %s", self.task_id, event.get("status"), event)
|
161
171
|
|
162
172
|
if event.get("status") == "failure":
|
163
173
|
raise AirflowException(event.get("message"))
|
164
174
|
|
165
175
|
response = event.get("response")
|
166
176
|
|
167
|
-
self.log.
|
177
|
+
self.log.info("response: %s", response)
|
168
178
|
|
169
179
|
if response:
|
170
180
|
response = self.serializer.deserialize(response)
|
@@ -271,6 +281,7 @@ class MSGraphAsyncOperator(BaseOperator):
|
|
271
281
|
url=url,
|
272
282
|
query_parameters=query_parameters,
|
273
283
|
response_type=self.response_type,
|
284
|
+
response_handler=self.response_handler,
|
274
285
|
conn_id=self.conn_id,
|
275
286
|
timeout=self.timeout,
|
276
287
|
proxies=self.proxies,
|
@@ -17,25 +17,33 @@
|
|
17
17
|
# under the License.
|
18
18
|
from __future__ import annotations
|
19
19
|
|
20
|
+
import asyncio
|
21
|
+
import json
|
20
22
|
from typing import TYPE_CHECKING, Any, Callable, Sequence
|
21
23
|
|
22
|
-
from airflow.exceptions import AirflowException
|
23
24
|
from airflow.providers.microsoft.azure.hooks.msgraph import KiotaRequestAdapterHook
|
24
25
|
from airflow.providers.microsoft.azure.triggers.msgraph import MSGraphTrigger, ResponseSerializer
|
25
|
-
from airflow.sensors.base import BaseSensorOperator
|
26
|
-
from airflow.triggers.temporal import TimeDeltaTrigger
|
26
|
+
from airflow.sensors.base import BaseSensorOperator, PokeReturnValue
|
27
27
|
|
28
28
|
if TYPE_CHECKING:
|
29
|
-
from datetime import timedelta
|
30
29
|
from io import BytesIO
|
31
30
|
|
32
31
|
from kiota_abstractions.request_information import QueryParams
|
32
|
+
from kiota_abstractions.response_handler import NativeResponseType
|
33
|
+
from kiota_abstractions.serialization import ParsableFactory
|
33
34
|
from kiota_http.httpx_request_adapter import ResponseType
|
34
35
|
from msgraph_core import APIVersion
|
35
36
|
|
37
|
+
from airflow.triggers.base import TriggerEvent
|
36
38
|
from airflow.utils.context import Context
|
37
39
|
|
38
40
|
|
41
|
+
def default_event_processor(context: Context, event: TriggerEvent) -> bool:
|
42
|
+
if event.payload["status"] == "success":
|
43
|
+
return json.loads(event.payload["response"])["status"] == "Succeeded"
|
44
|
+
return False
|
45
|
+
|
46
|
+
|
39
47
|
class MSGraphSensor(BaseSensorOperator):
|
40
48
|
"""
|
41
49
|
A Microsoft Graph API sensor which allows you to poll an async REST call to the Microsoft Graph API.
|
@@ -43,6 +51,9 @@ class MSGraphSensor(BaseSensorOperator):
|
|
43
51
|
:param url: The url being executed on the Microsoft Graph API (templated).
|
44
52
|
:param response_type: The expected return type of the response as a string. Possible value are: `bytes`,
|
45
53
|
`str`, `int`, `float`, `bool` and `datetime` (default is None).
|
54
|
+
:param response_handler: Function to convert the native HTTPX response returned by the hook (default is
|
55
|
+
lambda response, error_map: response.json()). The default expression will convert the native response
|
56
|
+
to JSON. If response_type parameter is specified, then the response_handler will be ignored.
|
46
57
|
:param method: The HTTP method being used to do the REST call (default is GET).
|
47
58
|
:param conn_id: The HTTP Connection ID to run the operator against (templated).
|
48
59
|
:param proxies: A dict defining the HTTP proxies to be used (default is None).
|
@@ -74,6 +85,9 @@ class MSGraphSensor(BaseSensorOperator):
|
|
74
85
|
self,
|
75
86
|
url: str,
|
76
87
|
response_type: ResponseType | None = None,
|
88
|
+
response_handler: Callable[
|
89
|
+
[NativeResponseType, dict[str, ParsableFactory | None] | None], Any
|
90
|
+
] = lambda response, error_map: response.json(),
|
77
91
|
path_parameters: dict[str, Any] | None = None,
|
78
92
|
url_template: str | None = None,
|
79
93
|
method: str = "GET",
|
@@ -83,15 +97,15 @@ class MSGraphSensor(BaseSensorOperator):
|
|
83
97
|
conn_id: str = KiotaRequestAdapterHook.default_conn_name,
|
84
98
|
proxies: dict | None = None,
|
85
99
|
api_version: APIVersion | None = None,
|
86
|
-
event_processor: Callable[[Context,
|
100
|
+
event_processor: Callable[[Context, TriggerEvent], bool] = default_event_processor,
|
87
101
|
result_processor: Callable[[Context, Any], Any] = lambda context, result: result,
|
88
102
|
serializer: type[ResponseSerializer] = ResponseSerializer,
|
89
|
-
retry_delay: timedelta | float = 60,
|
90
103
|
**kwargs,
|
91
104
|
):
|
92
|
-
super().__init__(
|
105
|
+
super().__init__(**kwargs)
|
93
106
|
self.url = url
|
94
107
|
self.response_type = response_type
|
108
|
+
self.response_handler = response_handler
|
95
109
|
self.path_parameters = path_parameters
|
96
110
|
self.url_template = url_template
|
97
111
|
self.method = method
|
@@ -105,73 +119,45 @@ class MSGraphSensor(BaseSensorOperator):
|
|
105
119
|
self.result_processor = result_processor
|
106
120
|
self.serializer = serializer()
|
107
121
|
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
),
|
125
|
-
method_name=self.execute_complete.__name__,
|
122
|
+
@property
|
123
|
+
def trigger(self):
|
124
|
+
return MSGraphTrigger(
|
125
|
+
url=self.url,
|
126
|
+
response_type=self.response_type,
|
127
|
+
response_handler=self.response_handler,
|
128
|
+
path_parameters=self.path_parameters,
|
129
|
+
url_template=self.url_template,
|
130
|
+
method=self.method,
|
131
|
+
query_parameters=self.query_parameters,
|
132
|
+
headers=self.headers,
|
133
|
+
data=self.data,
|
134
|
+
conn_id=self.conn_id,
|
135
|
+
timeout=self.timeout,
|
136
|
+
proxies=self.proxies,
|
137
|
+
api_version=self.api_version,
|
138
|
+
serializer=type(self.serializer),
|
126
139
|
)
|
127
140
|
|
128
|
-
def
|
129
|
-
self
|
130
|
-
context: Context,
|
131
|
-
) -> Any:
|
132
|
-
self.execute(context=context)
|
133
|
-
|
134
|
-
def execute_complete(
|
135
|
-
self,
|
136
|
-
context: Context,
|
137
|
-
event: dict[Any, Any] | None = None,
|
138
|
-
) -> Any:
|
139
|
-
"""
|
140
|
-
Execute callback when MSGraphSensor finishes execution.
|
141
|
-
|
142
|
-
This method gets executed automatically when MSGraphTrigger completes its execution.
|
143
|
-
"""
|
144
|
-
self.log.debug("context: %s", context)
|
145
|
-
|
146
|
-
if event:
|
147
|
-
self.log.debug("%s completed with %s: %s", self.task_id, event.get("status"), event)
|
148
|
-
|
149
|
-
if event.get("status") == "failure":
|
150
|
-
raise AirflowException(event.get("message"))
|
151
|
-
|
152
|
-
response = event.get("response")
|
153
|
-
|
154
|
-
self.log.debug("response: %s", response)
|
141
|
+
async def async_poke(self, context: Context) -> bool | PokeReturnValue:
|
142
|
+
self.log.info("Sensor triggered")
|
155
143
|
|
156
|
-
|
157
|
-
|
144
|
+
async for event in self.trigger.run():
|
145
|
+
self.log.debug("event: %s", event)
|
158
146
|
|
159
|
-
|
147
|
+
is_done = self.event_processor(context, event)
|
160
148
|
|
161
|
-
|
149
|
+
self.log.debug("is_done: %s", is_done)
|
162
150
|
|
163
|
-
|
151
|
+
response = self.serializer.deserialize(event.payload["response"])
|
164
152
|
|
165
|
-
|
166
|
-
result = self.result_processor(context, response)
|
153
|
+
self.log.debug("deserialize event: %s", response)
|
167
154
|
|
168
|
-
|
155
|
+
result = self.result_processor(context, response)
|
169
156
|
|
170
|
-
|
157
|
+
self.log.debug("result: %s", result)
|
171
158
|
|
172
|
-
|
173
|
-
|
174
|
-
method_name=self.retry_execute.__name__,
|
175
|
-
)
|
159
|
+
return PokeReturnValue(is_done=is_done, xcom_value=result)
|
160
|
+
return PokeReturnValue(is_done=True)
|
176
161
|
|
177
|
-
|
162
|
+
def poke(self, context) -> bool | PokeReturnValue:
|
163
|
+
return asyncio.run(self.async_poke(context))
|
@@ -27,6 +27,7 @@ from typing import (
|
|
27
27
|
TYPE_CHECKING,
|
28
28
|
Any,
|
29
29
|
AsyncIterator,
|
30
|
+
Callable,
|
30
31
|
Sequence,
|
31
32
|
)
|
32
33
|
from uuid import UUID
|
@@ -42,6 +43,8 @@ if TYPE_CHECKING:
|
|
42
43
|
|
43
44
|
from kiota_abstractions.request_adapter import RequestAdapter
|
44
45
|
from kiota_abstractions.request_information import QueryParams
|
46
|
+
from kiota_abstractions.response_handler import NativeResponseType
|
47
|
+
from kiota_abstractions.serialization import ParsableFactory
|
45
48
|
from kiota_http.httpx_request_adapter import ResponseType
|
46
49
|
from msgraph_core import APIVersion
|
47
50
|
|
@@ -86,6 +89,9 @@ class MSGraphTrigger(BaseTrigger):
|
|
86
89
|
:param url: The url being executed on the Microsoft Graph API (templated).
|
87
90
|
:param response_type: The expected return type of the response as a string. Possible value are: `bytes`,
|
88
91
|
`str`, `int`, `float`, `bool` and `datetime` (default is None).
|
92
|
+
:param response_handler: Function to convert the native HTTPX response returned by the hook (default is
|
93
|
+
lambda response, error_map: response.json()). The default expression will convert the native response
|
94
|
+
to JSON. If response_type parameter is specified, then the response_handler will be ignored.
|
89
95
|
:param method: The HTTP method being used to do the REST call (default is GET).
|
90
96
|
:param conn_id: The HTTP Connection ID to run the operator against (templated).
|
91
97
|
:param timeout: The HTTP timeout being used by the `KiotaRequestAdapter` (default is None).
|
@@ -113,6 +119,9 @@ class MSGraphTrigger(BaseTrigger):
|
|
113
119
|
self,
|
114
120
|
url: str,
|
115
121
|
response_type: ResponseType | None = None,
|
122
|
+
response_handler: Callable[
|
123
|
+
[NativeResponseType, dict[str, ParsableFactory | None] | None], Any
|
124
|
+
] = lambda response, error_map: response.json(),
|
116
125
|
path_parameters: dict[str, Any] | None = None,
|
117
126
|
url_template: str | None = None,
|
118
127
|
method: str = "GET",
|
@@ -134,6 +143,7 @@ class MSGraphTrigger(BaseTrigger):
|
|
134
143
|
)
|
135
144
|
self.url = url
|
136
145
|
self.response_type = response_type
|
146
|
+
self.response_handler = response_handler
|
137
147
|
self.path_parameters = path_parameters
|
138
148
|
self.url_template = url_template
|
139
149
|
self.method = method
|
@@ -197,6 +207,7 @@ class MSGraphTrigger(BaseTrigger):
|
|
197
207
|
response = await self.hook.run(
|
198
208
|
url=self.url,
|
199
209
|
response_type=self.response_type,
|
210
|
+
response_handler=self.response_handler,
|
200
211
|
path_parameters=self.path_parameters,
|
201
212
|
method=self.method,
|
202
213
|
query_parameters=self.query_parameters,
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: apache-airflow-providers-microsoft-azure
|
3
|
-
Version: 10.1.
|
3
|
+
Version: 10.1.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>
|
@@ -23,7 +23,7 @@ Classifier: Programming Language :: Python :: 3.12
|
|
23
23
|
Classifier: Topic :: System :: Monitoring
|
24
24
|
Requires-Dist: adal>=1.2.7
|
25
25
|
Requires-Dist: adlfs>=2023.10.0
|
26
|
-
Requires-Dist: apache-airflow>=2.7.
|
26
|
+
Requires-Dist: apache-airflow>=2.7.0rc0
|
27
27
|
Requires-Dist: azure-batch>=8.0.0
|
28
28
|
Requires-Dist: azure-cosmos>=4.6.0
|
29
29
|
Requires-Dist: azure-datalake-store>=0.0.45
|
@@ -102,7 +102,7 @@ Provides-Extra: sftp
|
|
102
102
|
|
103
103
|
Package ``apache-airflow-providers-microsoft-azure``
|
104
104
|
|
105
|
-
Release: ``10.1.0``
|
105
|
+
Release: ``10.1.0.rc1``
|
106
106
|
|
107
107
|
|
108
108
|
`Microsoft Azure <https://azure.microsoft.com/>`__
|
@@ -1,6 +1,6 @@
|
|
1
1
|
airflow/providers/microsoft/azure/LICENSE,sha256=ywUBpKZc7Jb96rVt5I3IDbg7dIJAbUSHkuoDcF3jbH4,13569
|
2
|
-
airflow/providers/microsoft/azure/__init__.py,sha256=
|
3
|
-
airflow/providers/microsoft/azure/get_provider_info.py,sha256=
|
2
|
+
airflow/providers/microsoft/azure/__init__.py,sha256=5YQ3aYk7EPxdiSA_m52YDJ5HCsMjAFNLBiNW0n3z7IA,1591
|
3
|
+
airflow/providers/microsoft/azure/get_provider_info.py,sha256=dZtSK556OtDMPmfeq5OOcBonzFAaIUG_qYjvbtCwqeA,19914
|
4
4
|
airflow/providers/microsoft/azure/utils.py,sha256=EmK9LTNfbmpJFRKBd0HBE0MkRhIPY1suWuEaLAfugHY,8401
|
5
5
|
airflow/providers/microsoft/azure/fs/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
6
6
|
airflow/providers/microsoft/azure/fs/adls.py,sha256=kXZOVulLNfqwJNR0X9MBN23kcYr3dyv8K_0KqAcWvnk,3679
|
@@ -16,7 +16,7 @@ airflow/providers/microsoft/azure/hooks/cosmos.py,sha256=UCEM1xFj5wOGdNgy45fjbXg
|
|
16
16
|
airflow/providers/microsoft/azure/hooks/data_factory.py,sha256=OZj2mzMmZxTq0Rkz2XnqfDoSRyUBo2PqEWTKWV_rZk8,45555
|
17
17
|
airflow/providers/microsoft/azure/hooks/data_lake.py,sha256=OoSWCphn5JBIkjRuvLl-gyTIUZnOMIx0CGyYlYYKGu4,23580
|
18
18
|
airflow/providers/microsoft/azure/hooks/fileshare.py,sha256=jaHSD_xZxposSD5FbdlpZ7JK_CugFHNrgejZkZbHJXM,10884
|
19
|
-
airflow/providers/microsoft/azure/hooks/msgraph.py,sha256=
|
19
|
+
airflow/providers/microsoft/azure/hooks/msgraph.py,sha256=5jsXdktH5MRNc8injqUrKoT82w7I-S6JmP6nEGW7TYk,15140
|
20
20
|
airflow/providers/microsoft/azure/hooks/synapse.py,sha256=VNFLIA6T55_db9ZgwF6zMY2Ri5hpjOpvLL5zNt8019Y,16595
|
21
21
|
airflow/providers/microsoft/azure/hooks/wasb.py,sha256=AZD_Mw0bsHGmHDk1Kb0AwQd2xD8rywfcyiF3TIW1PCw,29296
|
22
22
|
airflow/providers/microsoft/azure/log/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
@@ -29,7 +29,7 @@ airflow/providers/microsoft/azure/operators/batch.py,sha256=BxhI8H9vzCtvPZo7bjQt
|
|
29
29
|
airflow/providers/microsoft/azure/operators/container_instances.py,sha256=b3e3Kmgl_ypbPTDGFKhXKcuv_A3XDUibcNGt-eiZ6RI,16459
|
30
30
|
airflow/providers/microsoft/azure/operators/cosmos.py,sha256=Y1Hj4p6W8soVFaq1rx8LFgchNISjkq8vjdaQ0j8Tnqs,2782
|
31
31
|
airflow/providers/microsoft/azure/operators/data_factory.py,sha256=TrPMXlOAY3VHVeoysqJnq-ugBC_H53cKKSGfJfu9Dno,12441
|
32
|
-
airflow/providers/microsoft/azure/operators/msgraph.py,sha256=
|
32
|
+
airflow/providers/microsoft/azure/operators/msgraph.py,sha256=rhoivKnAm6_lVmuAQDg1DZWtGywvit69LVYOxcDMfNg,11763
|
33
33
|
airflow/providers/microsoft/azure/operators/synapse.py,sha256=gDniGvmCUooT8_jvIAJlc8zgPS57d0N_esL4e9xz7bo,12386
|
34
34
|
airflow/providers/microsoft/azure/operators/wasb_delete_blob.py,sha256=GUfV9DLU1bGYvn2TE54iTYBTbxn3Jm_e985pXp_0IsE,2687
|
35
35
|
airflow/providers/microsoft/azure/secrets/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
@@ -37,7 +37,7 @@ airflow/providers/microsoft/azure/secrets/key_vault.py,sha256=m8IwaMpXb9Zr0IPO_T
|
|
37
37
|
airflow/providers/microsoft/azure/sensors/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
|
38
38
|
airflow/providers/microsoft/azure/sensors/cosmos.py,sha256=vRrJ8zJnApvuKxHia53tNZUZ7wILWFT3_5cEyMA2M1I,2637
|
39
39
|
airflow/providers/microsoft/azure/sensors/data_factory.py,sha256=KGHbz7j_8gl87Munmk42uQo3IVgY3hXJ0mhzF7dLkxM,5552
|
40
|
-
airflow/providers/microsoft/azure/sensors/msgraph.py,sha256=
|
40
|
+
airflow/providers/microsoft/azure/sensors/msgraph.py,sha256=b0LeOLArd-S2hBP1IfzlYkl1I-ikPWxDjSMvKI1fBYI,7064
|
41
41
|
airflow/providers/microsoft/azure/sensors/wasb.py,sha256=rcUgAyQMUZKQiSf8sr05K0AE-8MV8Czwwc79hLXVWKw,9043
|
42
42
|
airflow/providers/microsoft/azure/transfers/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
43
43
|
airflow/providers/microsoft/azure/transfers/azure_blob_to_gcs.py,sha256=nJgDlO6Q5saW-ZbRntTZyurwsRLHVM2zwD7YkrdJF_s,1628
|
@@ -47,9 +47,9 @@ airflow/providers/microsoft/azure/transfers/oracle_to_azure_data_lake.py,sha256=
|
|
47
47
|
airflow/providers/microsoft/azure/transfers/sftp_to_wasb.py,sha256=bg_r8vRUgffIvkHf7x4-Ekgu0uzx-YzO2p7F_WZIbaI,8195
|
48
48
|
airflow/providers/microsoft/azure/triggers/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
|
49
49
|
airflow/providers/microsoft/azure/triggers/data_factory.py,sha256=W0OsDL4YeJ2zRuBf-HzXXxQ-J7ZtgTUmSHHpC1_CPz0,11128
|
50
|
-
airflow/providers/microsoft/azure/triggers/msgraph.py,sha256=
|
50
|
+
airflow/providers/microsoft/azure/triggers/msgraph.py,sha256=nmO03dJoaqcT6qbHOueKgJpgwQIA0hIJ_JGj5Rfb8k0,9424
|
51
51
|
airflow/providers/microsoft/azure/triggers/wasb.py,sha256=PkCoOGGNpqOukIeHtgBGrCRPWn4aAOXA6eOOnobzVNw,7429
|
52
|
-
apache_airflow_providers_microsoft_azure-10.1.
|
53
|
-
apache_airflow_providers_microsoft_azure-10.1.
|
54
|
-
apache_airflow_providers_microsoft_azure-10.1.
|
55
|
-
apache_airflow_providers_microsoft_azure-10.1.
|
52
|
+
apache_airflow_providers_microsoft_azure-10.1.0rc1.dist-info/entry_points.txt,sha256=6iWHenOoUC3YZBb3OKn6g0HlJsV58Ba56i8USmQrcJI,111
|
53
|
+
apache_airflow_providers_microsoft_azure-10.1.0rc1.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81
|
54
|
+
apache_airflow_providers_microsoft_azure-10.1.0rc1.dist-info/METADATA,sha256=FBYpsXdkfft00f2065CKWF459finu7atC4kiCKUXVwk,8198
|
55
|
+
apache_airflow_providers_microsoft_azure-10.1.0rc1.dist-info/RECORD,,
|
File without changes
|