apache-airflow-providers-microsoft-azure 10.0.0__py3-none-any.whl → 10.1.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.
@@ -19,6 +19,7 @@ from __future__ import annotations
19
19
 
20
20
  import warnings
21
21
  from functools import partial, wraps
22
+ from urllib.parse import urlparse, urlunparse
22
23
 
23
24
  from azure.core.pipeline import PipelineContext, PipelineRequest
24
25
  from azure.core.pipeline.policies import BearerTokenCredentialPolicy
@@ -171,3 +172,36 @@ class AzureIdentityCredentialAdapter(BasicTokenAuthentication):
171
172
  def signed_session(self, azure_session=None):
172
173
  self.set_token()
173
174
  return super().signed_session(azure_session)
175
+
176
+
177
+ def parse_blob_account_url(host: str | None, login: str | None) -> str:
178
+ account_url = host if host else f"https://{login}.blob.core.windows.net/"
179
+
180
+ parsed_url = urlparse(account_url)
181
+
182
+ # if there's no netloc then user provided the DNS name without the https:// prefix.
183
+ if parsed_url.scheme == "":
184
+ account_url = "https://" + account_url
185
+ parsed_url = urlparse(account_url)
186
+
187
+ netloc = parsed_url.netloc
188
+ if "." not in netloc:
189
+ # if there's no netloc and no dots in the path, then user only
190
+ # provided the Active Directory ID, not the full URL or DNS name
191
+ netloc = f"{login}.blob.core.windows.net/"
192
+
193
+ # Now enforce 3 to 23 character limit on account name
194
+ # https://learn.microsoft.com/en-us/azure/storage/common/storage-account-overview#storage-account-name
195
+ host_components = netloc.split(".")
196
+ host_components[0] = host_components[0][:24]
197
+ netloc = ".".join(host_components)
198
+
199
+ url_components = [
200
+ parsed_url.scheme,
201
+ netloc,
202
+ parsed_url.path,
203
+ parsed_url.params,
204
+ parsed_url.query,
205
+ parsed_url.fragment,
206
+ ]
207
+ return urlunparse(url_components)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: apache-airflow-providers-microsoft-azure
3
- Version: 10.0.0
3
+ Version: 10.1.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>
@@ -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.6.0
26
+ Requires-Dist: apache-airflow>=2.7.0
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
@@ -43,12 +43,13 @@ Requires-Dist: azure-storage-file-datalake>=12.9.1
43
43
  Requires-Dist: azure-storage-file-share
44
44
  Requires-Dist: azure-synapse-artifacts>=0.17.0
45
45
  Requires-Dist: azure-synapse-spark
46
+ Requires-Dist: msgraph-core>=1.0.0
46
47
  Requires-Dist: apache-airflow-providers-google ; extra == "google"
47
48
  Requires-Dist: apache-airflow-providers-oracle ; extra == "oracle"
48
49
  Requires-Dist: apache-airflow-providers-sftp ; extra == "sftp"
49
50
  Project-URL: Bug Tracker, https://github.com/apache/airflow/issues
50
- Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-microsoft-azure/10.0.0/changelog.html
51
- Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-microsoft-azure/10.0.0
51
+ Project-URL: Changelog, https://airflow.apache.org/docs/apache-airflow-providers-microsoft-azure/10.1.0/changelog.html
52
+ Project-URL: Documentation, https://airflow.apache.org/docs/apache-airflow-providers-microsoft-azure/10.1.0
52
53
  Project-URL: Slack Chat, https://s.apache.org/airflow-slack
53
54
  Project-URL: Source Code, https://github.com/apache/airflow
54
55
  Project-URL: Twitter, https://twitter.com/ApacheAirflow
@@ -101,7 +102,7 @@ Provides-Extra: sftp
101
102
 
102
103
  Package ``apache-airflow-providers-microsoft-azure``
103
104
 
104
- Release: ``10.0.0``
105
+ Release: ``10.1.0``
105
106
 
106
107
 
107
108
  `Microsoft Azure <https://azure.microsoft.com/>`__
@@ -114,7 +115,7 @@ This is a provider package for ``microsoft.azure`` provider. All classes for thi
114
115
  are in ``airflow.providers.microsoft.azure`` python package.
115
116
 
116
117
  You can find package information and changelog for the provider
117
- in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-microsoft-azure/10.0.0/>`_.
118
+ in the `documentation <https://airflow.apache.org/docs/apache-airflow-providers-microsoft-azure/10.1.0/>`_.
118
119
 
119
120
  Installation
120
121
  ------------
@@ -131,7 +132,7 @@ Requirements
131
132
  ================================ ==================
132
133
  PIP package Version required
133
134
  ================================ ==================
134
- ``apache-airflow`` ``>=2.6.0``
135
+ ``apache-airflow`` ``>=2.7.0``
135
136
  ``adlfs`` ``>=2023.10.0``
136
137
  ``azure-batch`` ``>=8.0.0``
137
138
  ``azure-cosmos`` ``>=4.6.0``
@@ -153,6 +154,7 @@ PIP package Version required
153
154
  ``azure-mgmt-datafactory`` ``>=2.0.0``
154
155
  ``azure-mgmt-containerregistry`` ``>=8.0.0``
155
156
  ``azure-mgmt-containerinstance`` ``>=9.0.0``
157
+ ``msgraph-core`` ``>=1.0.0``
156
158
  ================================ ==================
157
159
 
158
160
  Cross provider package dependencies
@@ -177,4 +179,4 @@ Dependent package
177
179
  ==================================================================================================== ==========
178
180
 
179
181
  The changelog for the provider package can be found in the
180
- `changelog <https://airflow.apache.org/docs/apache-airflow-providers-microsoft-azure/10.0.0/changelog.html>`_.
182
+ `changelog <https://airflow.apache.org/docs/apache-airflow-providers-microsoft-azure/10.1.0/changelog.html>`_.
@@ -1,9 +1,9 @@
1
1
  airflow/providers/microsoft/azure/LICENSE,sha256=ywUBpKZc7Jb96rVt5I3IDbg7dIJAbUSHkuoDcF3jbH4,13569
2
- airflow/providers/microsoft/azure/__init__.py,sha256=4wim7VWC7Ike16uzbgZ7A2_k8bY3CnBmX2hbnjnJYfM,1591
3
- airflow/providers/microsoft/azure/get_provider_info.py,sha256=tRRll2qDstnLsgcLQLNvlC95fSZvOIvy7NBRsUIia9M,18751
4
- airflow/providers/microsoft/azure/utils.py,sha256=Cq88MWL4SZ9vv8PxLM86kNRYa80XDJ_CVgKgdNu9tp4,7187
2
+ airflow/providers/microsoft/azure/__init__.py,sha256=eu1HPyp74EiSvh01sguPYn870YS9m1cHtEITuSl2FNY,1503
3
+ airflow/providers/microsoft/azure/get_provider_info.py,sha256=4UPurIYf5H3wZCDJRqThRe1VpzPUyw7vJtsCEewAeO8,19914
4
+ airflow/providers/microsoft/azure/utils.py,sha256=EmK9LTNfbmpJFRKBd0HBE0MkRhIPY1suWuEaLAfugHY,8401
5
5
  airflow/providers/microsoft/azure/fs/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
6
- airflow/providers/microsoft/azure/fs/adls.py,sha256=FOxPfMhQ-BNg8C7AYmNQO9C8YBAOW4vLN8TAcAXPdg8,1697
6
+ airflow/providers/microsoft/azure/fs/adls.py,sha256=kXZOVulLNfqwJNR0X9MBN23kcYr3dyv8K_0KqAcWvnk,3679
7
7
  airflow/providers/microsoft/azure/hooks/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
8
8
  airflow/providers/microsoft/azure/hooks/adx.py,sha256=ufxzcrLFHu-sr_0EySxEQRjEA3bHSZSl7D_U0bP-Ig4,10000
9
9
  airflow/providers/microsoft/azure/hooks/asb.py,sha256=YTvSEXCbJCG93fgS0TDCWujXB2Ze-1f9P9NkOefK8bA,14429
@@ -16,8 +16,9 @@ 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/synapse.py,sha256=9vipfj81dF5eehanajTYSzMBrpRv0ua0lPVa89Z-MAw,16565
20
- airflow/providers/microsoft/azure/hooks/wasb.py,sha256=EqXMsd8uaDc091wIXtbieesQy2gOjHVVEWfJPOy0GRA,31122
19
+ airflow/providers/microsoft/azure/hooks/msgraph.py,sha256=wiDwS0TeyNV6lNFrL3GYDCrBdOEJTNewyL4xUCFjOT4,14809
20
+ airflow/providers/microsoft/azure/hooks/synapse.py,sha256=VNFLIA6T55_db9ZgwF6zMY2Ri5hpjOpvLL5zNt8019Y,16595
21
+ airflow/providers/microsoft/azure/hooks/wasb.py,sha256=AZD_Mw0bsHGmHDk1Kb0AwQd2xD8rywfcyiF3TIW1PCw,29296
21
22
  airflow/providers/microsoft/azure/log/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
22
23
  airflow/providers/microsoft/azure/log/wasb_task_handler.py,sha256=lP57KoLjWvG9MQZvLOMaXvl7c_8krtK9E1jq89UGX_Y,9910
23
24
  airflow/providers/microsoft/azure/operators/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
@@ -25,9 +26,10 @@ airflow/providers/microsoft/azure/operators/adls.py,sha256=CSTn9Ukpcs8e5AUEGUM7n
25
26
  airflow/providers/microsoft/azure/operators/adx.py,sha256=2dWB1SUHtjn7WmDIKoOONt0Zll9F5n3JJSY2GmNUgRw,3407
26
27
  airflow/providers/microsoft/azure/operators/asb.py,sha256=xoh8i2rvyKYLKoLLcx-2DTWTQsAr_zR_jZ7bTlsX_YU,29415
27
28
  airflow/providers/microsoft/azure/operators/batch.py,sha256=BxhI8H9vzCtvPZo7bjQtNirRAlRCOyo8UK2D7GZCJkk,16538
28
- airflow/providers/microsoft/azure/operators/container_instances.py,sha256=TWeRMLCp2Ku_PJ5D1gtEOOtaQ0Eg5tNzfSp5Xxunzyg,15731
29
+ airflow/providers/microsoft/azure/operators/container_instances.py,sha256=b3e3Kmgl_ypbPTDGFKhXKcuv_A3XDUibcNGt-eiZ6RI,16459
29
30
  airflow/providers/microsoft/azure/operators/cosmos.py,sha256=Y1Hj4p6W8soVFaq1rx8LFgchNISjkq8vjdaQ0j8Tnqs,2782
30
31
  airflow/providers/microsoft/azure/operators/data_factory.py,sha256=TrPMXlOAY3VHVeoysqJnq-ugBC_H53cKKSGfJfu9Dno,12441
32
+ airflow/providers/microsoft/azure/operators/msgraph.py,sha256=yni_f-xUm3yN999X930osZPbGG37Bias3t0_r1O5lZs,10947
31
33
  airflow/providers/microsoft/azure/operators/synapse.py,sha256=gDniGvmCUooT8_jvIAJlc8zgPS57d0N_esL4e9xz7bo,12386
32
34
  airflow/providers/microsoft/azure/operators/wasb_delete_blob.py,sha256=GUfV9DLU1bGYvn2TE54iTYBTbxn3Jm_e985pXp_0IsE,2687
33
35
  airflow/providers/microsoft/azure/secrets/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
@@ -35,8 +37,8 @@ airflow/providers/microsoft/azure/secrets/key_vault.py,sha256=m8IwaMpXb9Zr0IPO_T
35
37
  airflow/providers/microsoft/azure/sensors/__init__.py,sha256=mlJxuZLkd5x-iq2SBwD3mvRQpt3YR7wjz_nceyF1IaI,787
36
38
  airflow/providers/microsoft/azure/sensors/cosmos.py,sha256=vRrJ8zJnApvuKxHia53tNZUZ7wILWFT3_5cEyMA2M1I,2637
37
39
  airflow/providers/microsoft/azure/sensors/data_factory.py,sha256=KGHbz7j_8gl87Munmk42uQo3IVgY3hXJ0mhzF7dLkxM,5552
40
+ airflow/providers/microsoft/azure/sensors/msgraph.py,sha256=7JTW7lnDyXRdFv5D1lUS4hm7WRnQWqtUukD_i20pqfE,7069
38
41
  airflow/providers/microsoft/azure/sensors/wasb.py,sha256=rcUgAyQMUZKQiSf8sr05K0AE-8MV8Czwwc79hLXVWKw,9043
39
- airflow/providers/microsoft/azure/serialization/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
40
42
  airflow/providers/microsoft/azure/transfers/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
41
43
  airflow/providers/microsoft/azure/transfers/azure_blob_to_gcs.py,sha256=nJgDlO6Q5saW-ZbRntTZyurwsRLHVM2zwD7YkrdJF_s,1628
42
44
  airflow/providers/microsoft/azure/transfers/local_to_adls.py,sha256=8sJhFGTLPapZzFWog2wc09xdOvwxP9Az-fKNSNj4MTM,4176
@@ -45,8 +47,9 @@ airflow/providers/microsoft/azure/transfers/oracle_to_azure_data_lake.py,sha256=
45
47
  airflow/providers/microsoft/azure/transfers/sftp_to_wasb.py,sha256=bg_r8vRUgffIvkHf7x4-Ekgu0uzx-YzO2p7F_WZIbaI,8195
46
48
  airflow/providers/microsoft/azure/triggers/__init__.py,sha256=9hdXHABrVpkbpjZgUft39kOFL2xSGeG4GEua0Hmelus,785
47
49
  airflow/providers/microsoft/azure/triggers/data_factory.py,sha256=W0OsDL4YeJ2zRuBf-HzXXxQ-J7ZtgTUmSHHpC1_CPz0,11128
50
+ airflow/providers/microsoft/azure/triggers/msgraph.py,sha256=iEBE-wsIc7mHBGrxcp1H-8NqIvdZUd2SsqKBoy3J6nE,8675
48
51
  airflow/providers/microsoft/azure/triggers/wasb.py,sha256=PkCoOGGNpqOukIeHtgBGrCRPWn4aAOXA6eOOnobzVNw,7429
49
- apache_airflow_providers_microsoft_azure-10.0.0.dist-info/entry_points.txt,sha256=6iWHenOoUC3YZBb3OKn6g0HlJsV58Ba56i8USmQrcJI,111
50
- apache_airflow_providers_microsoft_azure-10.0.0.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81
51
- apache_airflow_providers_microsoft_azure-10.0.0.dist-info/METADATA,sha256=CK9n9bU4_aBnyXsda4ymR4_deAJGuXNl739xTv00hSM,8107
52
- apache_airflow_providers_microsoft_azure-10.0.0.dist-info/RECORD,,
52
+ apache_airflow_providers_microsoft_azure-10.1.0.dist-info/entry_points.txt,sha256=6iWHenOoUC3YZBb3OKn6g0HlJsV58Ba56i8USmQrcJI,111
53
+ apache_airflow_providers_microsoft_azure-10.1.0.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81
54
+ apache_airflow_providers_microsoft_azure-10.1.0.dist-info/METADATA,sha256=9fGdzIHIJn7-Ldi1orhekjQAVy15HxX_AcoipPMAZF8,8188
55
+ apache_airflow_providers_microsoft_azure-10.1.0.dist-info/RECORD,,
@@ -1,16 +0,0 @@
1
- # Licensed to the Apache Software Foundation (ASF) under one
2
- # or more contributor license agreements. See the NOTICE file
3
- # distributed with this work for additional information
4
- # regarding copyright ownership. The ASF licenses this file
5
- # to you under the Apache License, Version 2.0 (the
6
- # "License"); you may not use this file except in compliance
7
- # with the License. You may obtain a copy of the License at
8
- #
9
- # http://www.apache.org/licenses/LICENSE-2.0
10
- #
11
- # Unless required by applicable law or agreed to in writing,
12
- # software distributed under the License is distributed on an
13
- # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
- # KIND, either express or implied. See the License for the
15
- # specific language governing permissions and limitations
16
- # under the License.