azure-storage-blob 12.21.0b1__py3-none-any.whl → 12.22.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.
Files changed (43) hide show
  1. azure/storage/blob/__init__.py +19 -18
  2. azure/storage/blob/_blob_client.py +470 -1555
  3. azure/storage/blob/_blob_client_helpers.py +1242 -0
  4. azure/storage/blob/_blob_service_client.py +93 -112
  5. azure/storage/blob/_blob_service_client_helpers.py +27 -0
  6. azure/storage/blob/_container_client.py +169 -376
  7. azure/storage/blob/_container_client_helpers.py +261 -0
  8. azure/storage/blob/_deserialize.py +68 -44
  9. azure/storage/blob/_download.py +375 -241
  10. azure/storage/blob/_encryption.py +14 -7
  11. azure/storage/blob/_generated/py.typed +1 -0
  12. azure/storage/blob/_lease.py +52 -63
  13. azure/storage/blob/_list_blobs_helper.py +129 -135
  14. azure/storage/blob/_models.py +480 -277
  15. azure/storage/blob/_quick_query_helper.py +30 -31
  16. azure/storage/blob/_serialize.py +38 -56
  17. azure/storage/blob/_shared/avro/datafile.py +1 -1
  18. azure/storage/blob/_shared/avro/datafile_async.py +1 -1
  19. azure/storage/blob/_shared/base_client.py +1 -1
  20. azure/storage/blob/_shared/base_client_async.py +1 -1
  21. azure/storage/blob/_shared/policies.py +8 -6
  22. azure/storage/blob/_shared/policies_async.py +3 -1
  23. azure/storage/blob/_shared/response_handlers.py +6 -2
  24. azure/storage/blob/_shared/shared_access_signature.py +2 -2
  25. azure/storage/blob/_shared/uploads.py +1 -1
  26. azure/storage/blob/_shared/uploads_async.py +1 -1
  27. azure/storage/blob/_shared_access_signature.py +70 -53
  28. azure/storage/blob/_upload_helpers.py +75 -68
  29. azure/storage/blob/_version.py +1 -1
  30. azure/storage/blob/aio/__init__.py +19 -11
  31. azure/storage/blob/aio/_blob_client_async.py +554 -301
  32. azure/storage/blob/aio/_blob_service_client_async.py +148 -97
  33. azure/storage/blob/aio/_container_client_async.py +282 -139
  34. azure/storage/blob/aio/_download_async.py +408 -283
  35. azure/storage/blob/aio/_lease_async.py +61 -60
  36. azure/storage/blob/aio/_list_blobs_helper.py +94 -96
  37. azure/storage/blob/aio/_models.py +60 -38
  38. azure/storage/blob/aio/_upload_helpers.py +75 -66
  39. {azure_storage_blob-12.21.0b1.dist-info → azure_storage_blob-12.22.0.dist-info}/METADATA +7 -7
  40. {azure_storage_blob-12.21.0b1.dist-info → azure_storage_blob-12.22.0.dist-info}/RECORD +43 -39
  41. {azure_storage_blob-12.21.0b1.dist-info → azure_storage_blob-12.22.0.dist-info}/WHEEL +1 -1
  42. {azure_storage_blob-12.21.0b1.dist-info → azure_storage_blob-12.22.0.dist-info}/LICENSE +0 -0
  43. {azure_storage_blob-12.21.0b1.dist-info → azure_storage_blob-12.22.0.dist-info}/top_level.txt +0 -0
@@ -6,23 +6,10 @@
6
6
 
7
7
  import inspect
8
8
  from io import SEEK_SET, UnsupportedOperation
9
- from typing import TypeVar, TYPE_CHECKING
9
+ from typing import Any, cast, Dict, IO, Optional, TypeVar, TYPE_CHECKING
10
10
 
11
- from azure.core.exceptions import ResourceModifiedError, HttpResponseError
11
+ from azure.core.exceptions import HttpResponseError, ResourceModifiedError
12
12
 
13
- from .._shared.response_handlers import process_storage_error, return_response_headers
14
- from .._shared.uploads_async import (
15
- upload_data_chunks,
16
- upload_substream_blocks,
17
- BlockBlobChunkUploader,
18
- PageBlobChunkUploader,
19
- AppendBlobChunkUploader
20
- )
21
- from .._generated.models import (
22
- BlockLookupList,
23
- AppendPositionAccessConditions,
24
- ModifiedAccessConditions,
25
- )
26
13
  from ._encryption_async import GCMBlobEncryptionStream
27
14
  from .._encryption import (
28
15
  encrypt_blob,
@@ -32,23 +19,39 @@ from .._encryption import (
32
19
  _ENCRYPTION_PROTOCOL_V1,
33
20
  _ENCRYPTION_PROTOCOL_V2
34
21
  )
35
- from .._upload_helpers import _convert_mod_error, _any_conditions
22
+ from .._generated.models import (
23
+ AppendPositionAccessConditions,
24
+ BlockLookupList,
25
+ ModifiedAccessConditions
26
+ )
27
+ from .._shared.response_handlers import process_storage_error, return_response_headers
28
+ from .._shared.uploads_async import (
29
+ AppendBlobChunkUploader,
30
+ BlockBlobChunkUploader,
31
+ PageBlobChunkUploader,
32
+ upload_data_chunks,
33
+ upload_substream_blocks
34
+ )
35
+ from .._upload_helpers import _any_conditions, _convert_mod_error
36
36
 
37
37
  if TYPE_CHECKING:
38
+ from .._generated.aio.operations import AppendBlobOperations, BlockBlobOperations, PageBlobOperations
39
+ from .._shared.models import StorageConfiguration
38
40
  BlobLeaseClient = TypeVar("BlobLeaseClient")
39
41
 
40
42
 
41
43
  async def upload_block_blob( # pylint: disable=too-many-locals, too-many-statements
42
- client=None,
43
- stream=None,
44
- length=None,
45
- overwrite=None,
46
- headers=None,
47
- validate_content=None,
48
- max_concurrency=None,
49
- blob_settings=None,
50
- encryption_options=None,
51
- **kwargs):
44
+ client: "BlockBlobOperations",
45
+ stream: IO,
46
+ overwrite: bool,
47
+ encryption_options: Dict[str, Any],
48
+ blob_settings: "StorageConfiguration",
49
+ headers: Dict[str, Any],
50
+ validate_content: bool,
51
+ max_concurrency: Optional[int],
52
+ length: Optional[int] = None,
53
+ **kwargs: Any
54
+ ) -> Dict[str, Any]:
52
55
  try:
53
56
  if not overwrite and not _any_conditions(**kwargs):
54
57
  kwargs['modified_access_conditions'].if_none_match = '*'
@@ -67,18 +70,20 @@ async def upload_block_blob( # pylint: disable=too-many-locals, too-many-statem
67
70
 
68
71
  # Do single put if the size is smaller than config.max_single_put_size
69
72
  if adjusted_count is not None and (adjusted_count <= blob_settings.max_single_put_size):
70
- data = stream.read(length)
73
+ data = stream.read(length or -1)
71
74
  if inspect.isawaitable(data):
72
75
  data = await data
73
76
  if not isinstance(data, bytes):
74
77
  raise TypeError('Blob data should be of type bytes.')
75
78
 
76
79
  if encryption_options.get('key'):
80
+ if not isinstance(data, bytes):
81
+ raise TypeError('Blob data should be of type bytes.')
77
82
  encryption_data, data = encrypt_blob(data, encryption_options['key'], encryption_options['version'])
78
83
  headers['x-ms-meta-encryptiondata'] = encryption_data
79
84
 
80
- response = await client.upload(
81
- body=data,
85
+ response = cast(Dict[str, Any], await client.upload(
86
+ body=data, # type: ignore [arg-type]
82
87
  content_length=adjusted_count,
83
88
  blob_http_headers=blob_headers,
84
89
  headers=headers,
@@ -91,7 +96,7 @@ async def upload_block_blob( # pylint: disable=too-many-locals, too-many-statem
91
96
  immutability_policy_expiry=immutability_policy_expiry,
92
97
  immutability_policy_mode=immutability_policy_mode,
93
98
  legal_hold=legal_hold,
94
- **kwargs)
99
+ **kwargs))
95
100
 
96
101
  if progress_hook:
97
102
  await progress_hook(adjusted_count, adjusted_count)
@@ -108,10 +113,10 @@ async def upload_block_blob( # pylint: disable=too-many-locals, too-many-statem
108
113
  total_size = length
109
114
  encryptor, padder = None, None
110
115
  if encryption_options and encryption_options.get('key'):
111
- cek, iv, encryption_data = generate_blob_encryption_data(
116
+ cek, iv, encryption_metadata = generate_blob_encryption_data(
112
117
  encryption_options['key'],
113
118
  encryption_options['version'])
114
- headers['x-ms-meta-encryptiondata'] = encryption_data
119
+ headers['x-ms-meta-encryptiondata'] = encryption_metadata
115
120
 
116
121
  if encryption_options['version'] == _ENCRYPTION_PROTOCOL_V1:
117
122
  encryptor, padder = get_blob_encryptor_and_padder(cek, iv, True)
@@ -121,7 +126,9 @@ async def upload_block_blob( # pylint: disable=too-many-locals, too-many-statem
121
126
  # Adjust total_size for encryption V2
122
127
  total_size = adjusted_count
123
128
  # V2 wraps the data stream with an encryption stream
124
- stream = GCMBlobEncryptionStream(cek, stream)
129
+ if cek is None:
130
+ raise ValueError("Generate encryption metadata failed. 'cek' is None.")
131
+ stream = GCMBlobEncryptionStream(cek, stream) # type: ignore [assignment]
125
132
 
126
133
  block_ids = await upload_data_chunks(
127
134
  service=client,
@@ -153,7 +160,7 @@ async def upload_block_blob( # pylint: disable=too-many-locals, too-many-statem
153
160
 
154
161
  block_lookup = BlockLookupList(committed=[], uncommitted=[], latest=[])
155
162
  block_lookup.latest = block_ids
156
- return await client.commit_block_list(
163
+ return cast(Dict[str, Any], await client.commit_block_list(
157
164
  block_lookup,
158
165
  blob_http_headers=blob_headers,
159
166
  cls=return_response_headers,
@@ -164,7 +171,7 @@ async def upload_block_blob( # pylint: disable=too-many-locals, too-many-statem
164
171
  immutability_policy_expiry=immutability_policy_expiry,
165
172
  immutability_policy_mode=immutability_policy_mode,
166
173
  legal_hold=legal_hold,
167
- **kwargs)
174
+ **kwargs))
168
175
  except HttpResponseError as error:
169
176
  try:
170
177
  process_storage_error(error)
@@ -175,16 +182,17 @@ async def upload_block_blob( # pylint: disable=too-many-locals, too-many-statem
175
182
 
176
183
 
177
184
  async def upload_page_blob(
178
- client=None,
179
- stream=None,
180
- length=None,
181
- overwrite=None,
182
- headers=None,
183
- validate_content=None,
184
- max_concurrency=None,
185
- blob_settings=None,
186
- encryption_options=None,
187
- **kwargs):
185
+ client: "PageBlobOperations",
186
+ overwrite: bool,
187
+ encryption_options: Dict[str, Any],
188
+ blob_settings: "StorageConfiguration",
189
+ headers: Dict[str, Any],
190
+ stream: IO,
191
+ length: Optional[int] = None,
192
+ validate_content: Optional[bool] = None,
193
+ max_concurrency: Optional[int] = None,
194
+ **kwargs: Any
195
+ ) -> Dict[str, Any]:
188
196
  try:
189
197
  if not overwrite and not _any_conditions(**kwargs):
190
198
  kwargs['modified_access_conditions'].if_none_match = '*'
@@ -210,18 +218,18 @@ async def upload_page_blob(
210
218
  blob_tags_string = kwargs.pop('blob_tags_string', None)
211
219
  progress_hook = kwargs.pop('progress_hook', None)
212
220
 
213
- response = await client.create(
221
+ response = cast(Dict[str, Any], await client.create(
214
222
  content_length=0,
215
223
  blob_content_length=length,
216
- blob_sequence_number=None,
224
+ blob_sequence_number=None, # type: ignore [arg-type]
217
225
  blob_http_headers=kwargs.pop('blob_headers', None),
218
226
  blob_tags_string=blob_tags_string,
219
227
  tier=tier,
220
228
  cls=return_response_headers,
221
229
  headers=headers,
222
- **kwargs)
230
+ **kwargs))
223
231
  if length == 0:
224
- return response
232
+ return cast(Dict[str, Any], response)
225
233
 
226
234
  if encryption_options and encryption_options.get('key'):
227
235
  if encryption_options['version'] == _ENCRYPTION_PROTOCOL_V1:
@@ -230,7 +238,7 @@ async def upload_page_blob(
230
238
  kwargs['padder'] = padder
231
239
 
232
240
  kwargs['modified_access_conditions'] = ModifiedAccessConditions(if_match=response['etag'])
233
- return await upload_data_chunks(
241
+ return cast(Dict[str, Any], await upload_data_chunks(
234
242
  service=client,
235
243
  uploader_class=PageBlobChunkUploader,
236
244
  total_size=length,
@@ -240,7 +248,7 @@ async def upload_page_blob(
240
248
  validate_content=validate_content,
241
249
  progress_hook=progress_hook,
242
250
  headers=headers,
243
- **kwargs)
251
+ **kwargs))
244
252
 
245
253
  except HttpResponseError as error:
246
254
  try:
@@ -252,16 +260,17 @@ async def upload_page_blob(
252
260
 
253
261
 
254
262
  async def upload_append_blob( # pylint: disable=unused-argument
255
- client=None,
256
- stream=None,
257
- length=None,
258
- overwrite=None,
259
- headers=None,
260
- validate_content=None,
261
- max_concurrency=None,
262
- blob_settings=None,
263
- encryption_options=None,
264
- **kwargs):
263
+ client: "AppendBlobOperations",
264
+ overwrite: bool,
265
+ encryption_options: Dict[str, Any],
266
+ blob_settings: "StorageConfiguration",
267
+ headers: Dict[str, Any],
268
+ stream: IO,
269
+ length: Optional[int] = None,
270
+ validate_content: Optional[bool] = None,
271
+ max_concurrency: Optional[int] = None,
272
+ **kwargs: Any
273
+ ) -> Dict[str, Any]:
265
274
  try:
266
275
  if length == 0:
267
276
  return {}
@@ -280,7 +289,7 @@ async def upload_append_blob( # pylint: disable=unused-argument
280
289
  headers=headers,
281
290
  blob_tags_string=blob_tags_string,
282
291
  **kwargs)
283
- return await upload_data_chunks(
292
+ return cast(Dict[str, Any], await upload_data_chunks(
284
293
  service=client,
285
294
  uploader_class=AppendBlobChunkUploader,
286
295
  total_size=length,
@@ -291,9 +300,9 @@ async def upload_append_blob( # pylint: disable=unused-argument
291
300
  append_position_access_conditions=append_conditions,
292
301
  progress_hook=progress_hook,
293
302
  headers=headers,
294
- **kwargs)
303
+ **kwargs))
295
304
  except HttpResponseError as error:
296
- if error.response.status_code != 404:
305
+ if error.response.status_code != 404: # type: ignore [union-attr]
297
306
  raise
298
307
  # rewind the request body if it is a stream
299
308
  if hasattr(stream, 'read'):
@@ -309,7 +318,7 @@ async def upload_append_blob( # pylint: disable=unused-argument
309
318
  headers=headers,
310
319
  blob_tags_string=blob_tags_string,
311
320
  **kwargs)
312
- return await upload_data_chunks(
321
+ return cast(Dict[str, Any], await upload_data_chunks(
313
322
  service=client,
314
323
  uploader_class=AppendBlobChunkUploader,
315
324
  total_size=length,
@@ -320,6 +329,6 @@ async def upload_append_blob( # pylint: disable=unused-argument
320
329
  append_position_access_conditions=append_conditions,
321
330
  progress_hook=progress_hook,
322
331
  headers=headers,
323
- **kwargs)
332
+ **kwargs))
324
333
  except HttpResponseError as error:
325
334
  process_storage_error(error)
@@ -1,13 +1,13 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: azure-storage-blob
3
- Version: 12.21.0b1
3
+ Version: 12.22.0
4
4
  Summary: Microsoft Azure Blob Storage Client Library for Python
5
5
  Home-page: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/storage/azure-storage-blob
6
6
  Author: Microsoft Corporation
7
7
  Author-email: ascl@microsoft.com
8
8
  License: MIT License
9
9
  Keywords: azure,azure sdk
10
- Classifier: Development Status :: 4 - Beta
10
+ Classifier: Development Status :: 5 - Production/Stable
11
11
  Classifier: Programming Language :: Python
12
12
  Classifier: Programming Language :: Python :: 3 :: Only
13
13
  Classifier: Programming Language :: Python :: 3
@@ -20,12 +20,12 @@ Classifier: License :: OSI Approved :: MIT License
20
20
  Requires-Python: >=3.8
21
21
  Description-Content-Type: text/markdown
22
22
  License-File: LICENSE
23
- Requires-Dist: azure-core (>=1.28.0)
24
- Requires-Dist: cryptography (>=2.1.4)
25
- Requires-Dist: typing-extensions (>=4.6.0)
26
- Requires-Dist: isodate (>=0.6.1)
23
+ Requires-Dist: azure-core >=1.28.0
24
+ Requires-Dist: cryptography >=2.1.4
25
+ Requires-Dist: typing-extensions >=4.6.0
26
+ Requires-Dist: isodate >=0.6.1
27
27
  Provides-Extra: aio
28
- Requires-Dist: azure-core[aio] (>=1.28.0) ; extra == 'aio'
28
+ Requires-Dist: azure-core[aio] >=1.28.0 ; extra == 'aio'
29
29
 
30
30
  # Azure Storage Blobs client library for Python
31
31
  Azure Blob storage is Microsoft's object storage solution for the cloud. Blob storage is optimized for storing massive amounts of unstructured data, such as text or binary data.
@@ -1,18 +1,21 @@
1
- azure/storage/blob/__init__.py,sha256=9kqgvJPkCpK6GqFM3s0grbTfmj_edWIDw0AtKfR01Lw,10586
2
- azure/storage/blob/_blob_client.py,sha256=wlPrjml4Ks7MQ1zee7NwcquEBUOUPmgzJGr7690ANSs,237035
3
- azure/storage/blob/_blob_service_client.py,sha256=2YZT472L4j5p6FPHCz2CyiP68gcDuFpVvz53nYG7fM8,41080
4
- azure/storage/blob/_container_client.py,sha256=8D9xGBbyZLBGO13rI7en_le_IJJh2d4lwFY_9u0ErSg,95700
5
- azure/storage/blob/_deserialize.py,sha256=HwoxR0gZmCPAHOGuVH_Zf5Zd4bPlPnEFT9Tcm2R4DJU,8876
6
- azure/storage/blob/_download.py,sha256=rVqZ3av2lmDoqYlHJY3THzSAIuJkJfuK9xf3uv3dbm4,32439
7
- azure/storage/blob/_encryption.py,sha256=tYMxIgtPZrPcalCHWDdse0WOBB0zQtps67HSFdmE4FA,46982
8
- azure/storage/blob/_lease.py,sha256=YmyVL3IYFONpwTPmvzGIggwRIk6-xuGqyq39WWKjP9M,18811
9
- azure/storage/blob/_list_blobs_helper.py,sha256=ccWZaWHPiSKxlnEyd6Qe-caVVFmYSrd7u-YO6Tv4PHI,14791
10
- azure/storage/blob/_models.py,sha256=pJjLrX-bLqeLU9BjokvLfihh4z51rHSimGta_pOFMr4,56949
11
- azure/storage/blob/_quick_query_helper.py,sha256=D5TlBTUVf5C8NxQjG4B5hdyHCPcQDkp27qyIonqZPE0,6369
12
- azure/storage/blob/_serialize.py,sha256=uOEtWAZYs2L4VE9VJ7V0m9qbJzR1p589CoUjclHUxmU,8131
13
- azure/storage/blob/_shared_access_signature.py,sha256=wPh-iVxJjqCYxIhLGc3SSiWrD3quYy0c5Kk6aMZG9AU,33279
14
- azure/storage/blob/_upload_helpers.py,sha256=ix83D7cWryDubmOibgRCA0uODNzq4X7m-dSbADdIDd0,13831
15
- azure/storage/blob/_version.py,sha256=mTw2dgV_ivezJR1ebiIwSiwQRS97rJHaGs6BYJN_wsI,333
1
+ azure/storage/blob/__init__.py,sha256=2i-4BEmEBQ_qSjF2BfwSyrZXr2s75WgoZlQ6BY8loxI,10694
2
+ azure/storage/blob/_blob_client.py,sha256=VFLd4oyTWawbxD1H7DBMfJHJcJNAUSXR-nzVxt1CAgw,185513
3
+ azure/storage/blob/_blob_client_helpers.py,sha256=7tfQzgpV-cnwYc4i-lZEr4YibDDkyl5RCPybQtJZ-i0,51905
4
+ azure/storage/blob/_blob_service_client.py,sha256=AKoFLHYt4pMREIeQQ3k892xs0XRfS6VV73365KLck-I,40366
5
+ azure/storage/blob/_blob_service_client_helpers.py,sha256=8jNCrF5rsgdJyAJQTdRR_mcOYuDCw4Nt9AirZk2RYUY,997
6
+ azure/storage/blob/_container_client.py,sha256=GKT43Z3PONwHZNTY026Cy4ddl1icYHLkh_QB9sPKK9g,84467
7
+ azure/storage/blob/_container_client_helpers.py,sha256=Kp77eGkKgTMrFlwdOn_cQs3_jM-qipoQwqdhHRaUdJU,12359
8
+ azure/storage/blob/_deserialize.py,sha256=VisgOi6WtpfkeOZ9lMcEAiZyg3A6AqR7oZO52WUXaWU,9937
9
+ azure/storage/blob/_download.py,sha256=nvj_IBZuSQWV1fO2iB0n_LAndv95SRhbscuGmxu9hHE,40069
10
+ azure/storage/blob/_encryption.py,sha256=yw1T7bw7WWSxi4utqCvbpcDTwiMBdsjw0-Eqvud_Ulc,47238
11
+ azure/storage/blob/_lease.py,sha256=ReF0nVfZE8p_clUGpebZPprBdXJ7lOGEqXmJUhvsX5U,18336
12
+ azure/storage/blob/_list_blobs_helper.py,sha256=smnTcpGSVkk93G0RI7YczhkIM0s0gx4bSGWj_DB8t_s,13160
13
+ azure/storage/blob/_models.py,sha256=c01JsL1fCAWecXfUUD6Dn50qpjV9r5ZiViXXCwNZVN4,66018
14
+ azure/storage/blob/_quick_query_helper.py,sha256=HO6ufvSEWQSaFJ4CanujE4IN7FYB6y1f8PU0-dItMsk,6663
15
+ azure/storage/blob/_serialize.py,sha256=9qby1s2BMVCs_sFOj7h4iQZNkm_jnA31BqzqhxTtI40,8128
16
+ azure/storage/blob/_shared_access_signature.py,sha256=P_JnrsTIWW9oK9AHToTrqcrdBS_uRXsP1INJ5HYI6Ow,33665
17
+ azure/storage/blob/_upload_helpers.py,sha256=-ZpqzST-wFdWqCm_I4oWGLTMQ5N0aYb3RHxaMvmf9Q4,14688
18
+ azure/storage/blob/_version.py,sha256=d6XznPdlKnX2yOS4WBXhYL6yi19aRxmSW-TneLePeV4,331
16
19
  azure/storage/blob/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
20
  azure/storage/blob/_generated/__init__.py,sha256=J2H2yiFhRSsMCNKUI7gaYFIQ4_AAbWjPtzXdOsHFQFI,835
18
21
  azure/storage/blob/_generated/_azure_blob_storage.py,sha256=Xpt7ZrX5n2nN0l5x8EU9tX8H1ZPaK0vOV0GEFNxhYxs,5716
@@ -20,6 +23,7 @@ azure/storage/blob/_generated/_configuration.py,sha256=PV4kKjbnHhg6nD30e_acUENns
20
23
  azure/storage/blob/_generated/_patch.py,sha256=MdyWs5y2w9_vYRWulELR-RV2uRYkjYpdB7nTVz2tVY4,1532
21
24
  azure/storage/blob/_generated/_serialization.py,sha256=UL45pN1JUtWi96uVT5L9kbXGDtWUBHW0r4e2MeHpsKY,78893
22
25
  azure/storage/blob/_generated/_vendor.py,sha256=e3w-rd6okoiCIB8rNMtF0fehAYFWNlshwiwTsIRkEH4,778
26
+ azure/storage/blob/_generated/py.typed,sha256=dcrsqJrcYfTX-ckLFJMTaj6mD8aDe2u0tkQG-ZYxnEg,26
23
27
  azure/storage/blob/_generated/aio/__init__.py,sha256=J2H2yiFhRSsMCNKUI7gaYFIQ4_AAbWjPtzXdOsHFQFI,835
24
28
  azure/storage/blob/_generated/aio/_azure_blob_storage.py,sha256=79r9sIDwid96ZMyrO3u0S4UnfmR3O3g-M8JDmsTULXU,5859
25
29
  azure/storage/blob/_generated/aio/_configuration.py,sha256=Q4jfjKwpMOvSe2gS9lOdvwwsHvVtsJZN37AYrf4ySgg,2576
@@ -46,36 +50,36 @@ azure/storage/blob/_generated/operations/_patch.py,sha256=pYl0jxVFr3Yu0RHRFIgN3N
46
50
  azure/storage/blob/_generated/operations/_service_operations.py,sha256=CSR4vFYxQ5AmLlH8KcC8pJplcFDYWDwjtFQt-5MzPvc,49892
47
51
  azure/storage/blob/_shared/__init__.py,sha256=Ohb4NSCuB9VXGEqjU2o9VZ5L98-a7c8KWZvrujnSFk8,1477
48
52
  azure/storage/blob/_shared/authentication.py,sha256=KfUKWkjItNJxUTWNcCNusYfnENy-XbVelHlZM8fWc0Y,9450
49
- azure/storage/blob/_shared/base_client.py,sha256=6hxN6QwREiK-rV0sxNym9TJltLJ1-EONZBUS-k4dwx0,18523
50
- azure/storage/blob/_shared/base_client_async.py,sha256=Mx-9B69S9LZckRTfAjyC4avnL_A2fpurRYtxw584_cI,11886
53
+ azure/storage/blob/_shared/base_client.py,sha256=m8APWNQ2cbvMFWdR6y8a1iA4h9BxSA-nQ0ovQr2tuwA,18555
54
+ azure/storage/blob/_shared/base_client_async.py,sha256=z1dyRk2XSurRn69CwKA_lQYC7kRFOMkwhIr-InPP5t8,11918
51
55
  azure/storage/blob/_shared/constants.py,sha256=0TnhBNEaZpVq0vECmLoXWSzCajtn9WOlfOfzbMApRb4,620
52
56
  azure/storage/blob/_shared/models.py,sha256=aDydzgBj2_-WfnlT1-nOhJt-FHxOU8BG0T0K68BejNk,24907
53
57
  azure/storage/blob/_shared/parser.py,sha256=ACpdtwf6lhzmA0ukT3PmxpGVpimVXTy_mMSdixC55R8,1955
54
- azure/storage/blob/_shared/policies.py,sha256=SmwPXODNO-I2RsAbxCd3_ZlJ8fVAxM3lx0KbV5N43zU,30816
55
- azure/storage/blob/_shared/policies_async.py,sha256=PD060JU3rVszEW-TM7ZiSZjTLI2Sdk5swh5dI06zgr0,12613
58
+ azure/storage/blob/_shared/policies.py,sha256=XuoVxFgyXd2-6h-rniGlvUU4-y0SpsjMdwTdVTRSBjw,30899
59
+ azure/storage/blob/_shared/policies_async.py,sha256=aVLOV8mugAI7K2rWaaBbUkXd_UCfsw9DH08gZtfLp2A,12713
56
60
  azure/storage/blob/_shared/request_handlers.py,sha256=0G9eyzMY_8BlLfHA6jbJF75ENcu3xqZ33bHfSRi9HTM,9755
57
- azure/storage/blob/_shared/response_handlers.py,sha256=yGBdN5kgPyLUBFaegKG-8q1nvLrh45J7Ccj1q1Q5H68,8909
58
- azure/storage/blob/_shared/shared_access_signature.py,sha256=EofvWjPEFXq7ELO8x9VmThCaFUJuAdCeMUOboDdDK8w,10670
59
- azure/storage/blob/_shared/uploads.py,sha256=f-xbbwYkOGZWr0iTaRJwTyo-XXa0AWdWYNH_CTBnd0M,22158
60
- azure/storage/blob/_shared/uploads_async.py,sha256=xc2IM6eLAieNIlRt3kfmiX1xT6sxEVSmva19p0ZYXiY,16783
61
+ azure/storage/blob/_shared/response_handlers.py,sha256=wqZ1hGRDTwh3GkRB0gPSjgm_7TP2quZc_ex4pYThW-8,9190
62
+ azure/storage/blob/_shared/shared_access_signature.py,sha256=bCtbl-TVqEMBPeqYcJB1va4mjd1rVZRuWf428zjGoss,10684
63
+ azure/storage/blob/_shared/uploads.py,sha256=O7V-gxxnBozcNscQFzH_V9ZJv6i3Y_QXJePL0g9X3Io,22157
64
+ azure/storage/blob/_shared/uploads_async.py,sha256=ZFlwMgZIY2cYDzuhgVt0XCQV4ZtRI3PLi_A5cKTd0rw,16782
61
65
  azure/storage/blob/_shared/avro/__init__.py,sha256=Ch-mWS2_vgonM9LjVaETdaW51OL6LfG23X-0tH2AFjw,310
62
66
  azure/storage/blob/_shared/avro/avro_io.py,sha256=no2kWFVYxClP11e5fUypgDBW0YQcF9RgyuEy6rfgD6M,16054
63
67
  azure/storage/blob/_shared/avro/avro_io_async.py,sha256=ui6Fw9wGVC6UjpvCj7r4wlp9i7XncNrukUN6TcZ_c5o,16195
64
- azure/storage/blob/_shared/avro/datafile.py,sha256=Mj_f7BoHjkgpMrSR1g9-RDwDv7V82Jogh2YlN-0Z8I0,8459
65
- azure/storage/blob/_shared/avro/datafile_async.py,sha256=JCUs5I3crsrFqeHenZ_fQLGj7Z2VSBjzKcI__5fd37I,7292
68
+ azure/storage/blob/_shared/avro/datafile.py,sha256=L0xC3Na0Zyg-I6lZjW8Qp6R4wvEnGms35CAmNjh9oPU,8461
69
+ azure/storage/blob/_shared/avro/datafile_async.py,sha256=0fSi427XEDPXbFQNrVQq70EAhpy2-jo1Ay-k4fDHO3Q,7294
66
70
  azure/storage/blob/_shared/avro/schema.py,sha256=Z9qcHIEBDbXxkBBs_HYbEWHlZtAbvT302mfWCYDpADI,36201
67
- azure/storage/blob/aio/__init__.py,sha256=kSJ5gG-0E8-lNSrB0i23ycEArL6TGOvcZHu3BMJhST8,8113
68
- azure/storage/blob/aio/_blob_client_async.py,sha256=sH24egcPTXIZj2hIg1xNv5jsWu3GzQSaPZllKurOKOM,167321
69
- azure/storage/blob/aio/_blob_service_client_async.py,sha256=O_UhfEZxvom2oUm63xZRJte4973mSCo3LYnNLiXLZD8,38195
70
- azure/storage/blob/aio/_container_client_async.py,sha256=ylPpu6WuUQa0ekRU0zZUH_jWav4h3b701WJLGCdLA5U,77932
71
- azure/storage/blob/aio/_download_async.py,sha256=mj3wkZZNjDNBJhEJGvPjjm_EZXDB-S4y_N0XhYLXhl0,29504
71
+ azure/storage/blob/aio/__init__.py,sha256=tVgeGWdfxG32uyJxAE32waysCOGt93S_EeuQLJz7vEM,8344
72
+ azure/storage/blob/aio/_blob_client_async.py,sha256=wx76W_LrUDQ2vqBbgvS3RzKLtrnXbAe2INRtLXjtu2g,180606
73
+ azure/storage/blob/aio/_blob_service_client_async.py,sha256=3rOewtzrDmjUoYKwM0EBUwYLizqp3KHx71lEHDcN_Yw,41260
74
+ azure/storage/blob/aio/_container_client_async.py,sha256=uYmMm_jWvui5EXDXeRSkbhYnVLcukiOpt_657w2cwzc,85147
75
+ azure/storage/blob/aio/_download_async.py,sha256=QnOf6nZRAcYDvziAOXKSmZ9qAIs106mPTWqMks-RefA,36848
72
76
  azure/storage/blob/aio/_encryption_async.py,sha256=spbWeycNMj38H5ynZ03FRtRu0L0tnl1lQn5UJT6HMAY,2518
73
- azure/storage/blob/aio/_lease_async.py,sha256=goFzdlgQx7rwWr7kgIOCybPKoM04jZuUpXz3JUVHdCs,18482
74
- azure/storage/blob/aio/_list_blobs_helper.py,sha256=JXrgZb2R3JhNO4P58kzpruRF52nek4JmAixfyaQQNYA,11269
75
- azure/storage/blob/aio/_models.py,sha256=k9vJ9GNp1IKfcSBwL1kj8aXq3gm_RYgRtK7_yJm-MTU,7684
76
- azure/storage/blob/aio/_upload_helpers.py,sha256=A1L97uaz4fnZ805vYRHYm8ypIDLamuRf5BJIvdNe_nU,13053
77
- azure_storage_blob-12.21.0b1.dist-info/LICENSE,sha256=_VMkgdgo4ToLE8y1mOAjOKNhd0BnWoYu5r3BVBto6T0,1073
78
- azure_storage_blob-12.21.0b1.dist-info/METADATA,sha256=d2DZfrOxSMvkGc_m9diaCqgn4rSHgsBxqXYLMPLDVAE,26251
79
- azure_storage_blob-12.21.0b1.dist-info/WHEEL,sha256=ewwEueio1C2XeHTvT17n8dZUJgOvyCWCt0WVNLClP9o,92
80
- azure_storage_blob-12.21.0b1.dist-info/top_level.txt,sha256=S7DhWV9m80TBzAhOFjxDUiNbKszzoThbnrSz5MpbHSQ,6
81
- azure_storage_blob-12.21.0b1.dist-info/RECORD,,
77
+ azure/storage/blob/aio/_lease_async.py,sha256=dy4_KZYuIhlxEvYO4GLTKdZz4UzFkpxcm7zfino6geE,18638
78
+ azure/storage/blob/aio/_list_blobs_helper.py,sha256=cbrJcaGVfOvVCcLYd5dGx-jV3JjSvKfDIi2AQjf79qs,9920
79
+ azure/storage/blob/aio/_models.py,sha256=fdv7OQc6utrGBIS8FSNuBhYK5Q65o1TbKvdeeQaeUOc,8143
80
+ azure/storage/blob/aio/_upload_helpers.py,sha256=zROsVN6PK2Cn59Ysq08Ide5T1IGG2yH7oK9ZCn5uQXs,14038
81
+ azure_storage_blob-12.22.0.dist-info/LICENSE,sha256=_VMkgdgo4ToLE8y1mOAjOKNhd0BnWoYu5r3BVBto6T0,1073
82
+ azure_storage_blob-12.22.0.dist-info/METADATA,sha256=k00sD6WvZaLCJXQgG1H1F-EjWTrO910zIpM6YNeWP_w,26252
83
+ azure_storage_blob-12.22.0.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
84
+ azure_storage_blob-12.22.0.dist-info/top_level.txt,sha256=S7DhWV9m80TBzAhOFjxDUiNbKszzoThbnrSz5MpbHSQ,6
85
+ azure_storage_blob-12.22.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.37.0)
2
+ Generator: bdist_wheel (0.43.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5