azure-storage-blob 12.19.1__py3-none-any.whl → 12.20.0b1__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 (57) hide show
  1. azure/storage/blob/__init__.py +7 -5
  2. azure/storage/blob/_blob_client.py +12 -4
  3. azure/storage/blob/_blob_service_client.py +4 -3
  4. azure/storage/blob/_container_client.py +28 -12
  5. azure/storage/blob/_download.py +3 -3
  6. azure/storage/blob/_encryption.py +254 -165
  7. azure/storage/blob/_generated/_azure_blob_storage.py +21 -3
  8. azure/storage/blob/_generated/_configuration.py +4 -11
  9. azure/storage/blob/_generated/_serialization.py +41 -49
  10. azure/storage/blob/_generated/aio/_azure_blob_storage.py +23 -3
  11. azure/storage/blob/_generated/aio/_configuration.py +4 -11
  12. azure/storage/blob/_generated/aio/operations/_append_blob_operations.py +24 -58
  13. azure/storage/blob/_generated/aio/operations/_blob_operations.py +123 -306
  14. azure/storage/blob/_generated/aio/operations/_block_blob_operations.py +37 -86
  15. azure/storage/blob/_generated/aio/operations/_container_operations.py +98 -289
  16. azure/storage/blob/_generated/aio/operations/_page_blob_operations.py +51 -150
  17. azure/storage/blob/_generated/aio/operations/_service_operations.py +49 -125
  18. azure/storage/blob/_generated/models/_models_py3.py +31 -31
  19. azure/storage/blob/_generated/operations/_append_blob_operations.py +25 -59
  20. azure/storage/blob/_generated/operations/_blob_operations.py +123 -306
  21. azure/storage/blob/_generated/operations/_block_blob_operations.py +39 -88
  22. azure/storage/blob/_generated/operations/_container_operations.py +100 -291
  23. azure/storage/blob/_generated/operations/_page_blob_operations.py +52 -151
  24. azure/storage/blob/_generated/operations/_service_operations.py +50 -126
  25. azure/storage/blob/_models.py +3 -4
  26. azure/storage/blob/_serialize.py +1 -0
  27. azure/storage/blob/_shared/authentication.py +1 -1
  28. azure/storage/blob/_shared/avro/avro_io.py +0 -6
  29. azure/storage/blob/_shared/avro/avro_io_async.py +0 -6
  30. azure/storage/blob/_shared/avro/datafile.py +0 -4
  31. azure/storage/blob/_shared/avro/datafile_async.py +0 -4
  32. azure/storage/blob/_shared/avro/schema.py +4 -4
  33. azure/storage/blob/_shared/base_client.py +72 -87
  34. azure/storage/blob/_shared/base_client_async.py +115 -27
  35. azure/storage/blob/_shared/models.py +112 -20
  36. azure/storage/blob/_shared/parser.py +7 -6
  37. azure/storage/blob/_shared/policies.py +96 -66
  38. azure/storage/blob/_shared/policies_async.py +48 -21
  39. azure/storage/blob/_shared/response_handlers.py +14 -16
  40. azure/storage/blob/_shared/shared_access_signature.py +2 -3
  41. azure/storage/blob/_shared_access_signature.py +37 -27
  42. azure/storage/blob/_upload_helpers.py +4 -7
  43. azure/storage/blob/_version.py +1 -1
  44. azure/storage/blob/aio/__init__.py +2 -2
  45. azure/storage/blob/aio/_blob_client_async.py +16 -5
  46. azure/storage/blob/aio/_blob_service_client_async.py +3 -1
  47. azure/storage/blob/aio/_container_client_async.py +25 -8
  48. azure/storage/blob/aio/_download_async.py +9 -9
  49. azure/storage/blob/aio/_encryption_async.py +72 -0
  50. azure/storage/blob/aio/_upload_helpers.py +8 -10
  51. {azure_storage_blob-12.19.1.dist-info → azure_storage_blob-12.20.0b1.dist-info}/METADATA +9 -9
  52. azure_storage_blob-12.20.0b1.dist-info/RECORD +81 -0
  53. {azure_storage_blob-12.19.1.dist-info → azure_storage_blob-12.20.0b1.dist-info}/WHEEL +1 -1
  54. azure/storage/blob/_generated/py.typed +0 -1
  55. azure_storage_blob-12.19.1.dist-info/RECORD +0 -81
  56. {azure_storage_blob-12.19.1.dist-info → azure_storage_blob-12.20.0b1.dist-info}/LICENSE +0 -0
  57. {azure_storage_blob-12.19.1.dist-info → azure_storage_blob-12.20.0b1.dist-info}/top_level.txt +0 -0
@@ -1,4 +1,4 @@
1
- # pylint: disable=too-many-lines
1
+ # pylint: disable=too-many-lines,too-many-statements
2
2
  # coding=utf-8
3
3
  # --------------------------------------------------------------------------
4
4
  # Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7,8 +7,7 @@
7
7
  # Changes may cause incorrect behavior and will be lost if the code is regenerated.
8
8
  # --------------------------------------------------------------------------
9
9
  import datetime
10
- import sys
11
- from typing import Any, Callable, Dict, IO, Optional, TypeVar, Union
10
+ from typing import Any, Callable, Dict, IO, Literal, Optional, TypeVar, Union
12
11
 
13
12
  from azure.core.exceptions import (
14
13
  ClientAuthenticationError,
@@ -33,10 +32,6 @@ from ...operations._append_blob_operations import (
33
32
  build_seal_request,
34
33
  )
35
34
 
36
- if sys.version_info >= (3, 8):
37
- from typing import Literal # pylint: disable=no-name-in-module, ungrouped-imports
38
- else:
39
- from typing_extensions import Literal # type: ignore # pylint: disable=ungrouped-imports
40
35
  T = TypeVar("T")
41
36
  ClsType = Optional[Callable[[PipelineResponse[HttpRequest, AsyncHttpResponse], T, Dict[str, Any]], Any]]
42
37
 
@@ -120,11 +115,6 @@ class AppendBlobOperations:
120
115
  :type cpk_scope_info: ~azure.storage.blob.models.CpkScopeInfo
121
116
  :param modified_access_conditions: Parameter group. Default value is None.
122
117
  :type modified_access_conditions: ~azure.storage.blob.models.ModifiedAccessConditions
123
- :keyword blob_type: Specifies the type of blob to create: block blob, page blob, or append
124
- blob. Default value is "AppendBlob". Note that overriding this default value may result in
125
- unsupported behavior.
126
- :paramtype blob_type: str
127
- :keyword callable cls: A custom type or function that will be passed the direct response
128
118
  :return: None or the result of cls(response)
129
119
  :rtype: None
130
120
  :raises ~azure.core.exceptions.HttpResponseError:
@@ -181,7 +171,7 @@ class AppendBlobOperations:
181
171
  _if_tags = modified_access_conditions.if_tags
182
172
  _if_unmodified_since = modified_access_conditions.if_unmodified_since
183
173
 
184
- request = build_create_request(
174
+ _request = build_create_request(
185
175
  url=self._config.url,
186
176
  content_length=content_length,
187
177
  timeout=timeout,
@@ -209,16 +199,15 @@ class AppendBlobOperations:
209
199
  legal_hold=legal_hold,
210
200
  blob_type=blob_type,
211
201
  version=self._config.version,
212
- template_url=self.create.metadata["url"],
213
202
  headers=_headers,
214
203
  params=_params,
215
204
  )
216
- request = _convert_request(request)
217
- request.url = self._client.format_url(request.url)
205
+ _request = _convert_request(_request)
206
+ _request.url = self._client.format_url(_request.url)
218
207
 
219
208
  _stream = False
220
209
  pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
221
- request, stream=_stream, **kwargs
210
+ _request, stream=_stream, **kwargs
222
211
  )
223
212
 
224
213
  response = pipeline_response.http_response
@@ -250,15 +239,13 @@ class AppendBlobOperations:
250
239
  )
251
240
 
252
241
  if cls:
253
- return cls(pipeline_response, None, response_headers)
254
-
255
- create.metadata = {"url": "{url}"}
242
+ return cls(pipeline_response, None, response_headers) # type: ignore
256
243
 
257
244
  @distributed_trace_async
258
245
  async def append_block( # pylint: disable=inconsistent-return-statements
259
246
  self,
260
247
  content_length: int,
261
- body: IO,
248
+ body: IO[bytes],
262
249
  timeout: Optional[int] = None,
263
250
  transactional_content_md5: Optional[bytes] = None,
264
251
  transactional_content_crc64: Optional[bytes] = None,
@@ -277,7 +264,7 @@ class AppendBlobOperations:
277
264
  :param content_length: The length of the request. Required.
278
265
  :type content_length: int
279
266
  :param body: Initial data. Required.
280
- :type body: IO
267
+ :type body: IO[bytes]
281
268
  :param timeout: The timeout parameter is expressed in seconds. For more information, see
282
269
  :code:`<a
283
270
  href="https://docs.microsoft.com/en-us/rest/api/storageservices/fileservices/setting-timeouts-for-blob-service-operations">Setting
@@ -304,10 +291,6 @@ class AppendBlobOperations:
304
291
  :type cpk_scope_info: ~azure.storage.blob.models.CpkScopeInfo
305
292
  :param modified_access_conditions: Parameter group. Default value is None.
306
293
  :type modified_access_conditions: ~azure.storage.blob.models.ModifiedAccessConditions
307
- :keyword comp: comp. Default value is "appendblock". Note that overriding this default value
308
- may result in unsupported behavior.
309
- :paramtype comp: str
310
- :keyword callable cls: A custom type or function that will be passed the direct response
311
294
  :return: None or the result of cls(response)
312
295
  :rtype: None
313
296
  :raises ~azure.core.exceptions.HttpResponseError:
@@ -358,7 +341,7 @@ class AppendBlobOperations:
358
341
  _if_unmodified_since = modified_access_conditions.if_unmodified_since
359
342
  _content = body
360
343
 
361
- request = build_append_block_request(
344
+ _request = build_append_block_request(
362
345
  url=self._config.url,
363
346
  content_length=content_length,
364
347
  timeout=timeout,
@@ -381,16 +364,15 @@ class AppendBlobOperations:
381
364
  content_type=content_type,
382
365
  version=self._config.version,
383
366
  content=_content,
384
- template_url=self.append_block.metadata["url"],
385
367
  headers=_headers,
386
368
  params=_params,
387
369
  )
388
- request = _convert_request(request)
389
- request.url = self._client.format_url(request.url)
370
+ _request = _convert_request(_request)
371
+ _request.url = self._client.format_url(_request.url)
390
372
 
391
373
  _stream = False
392
374
  pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
393
- request, stream=_stream, **kwargs
375
+ _request, stream=_stream, **kwargs
394
376
  )
395
377
 
396
378
  response = pipeline_response.http_response
@@ -430,9 +412,7 @@ class AppendBlobOperations:
430
412
  )
431
413
 
432
414
  if cls:
433
- return cls(pipeline_response, None, response_headers)
434
-
435
- append_block.metadata = {"url": "{url}"}
415
+ return cls(pipeline_response, None, response_headers) # type: ignore
436
416
 
437
417
  @distributed_trace_async
438
418
  async def append_block_from_url( # pylint: disable=inconsistent-return-statements
@@ -500,10 +480,6 @@ class AppendBlobOperations:
500
480
  :param source_modified_access_conditions: Parameter group. Default value is None.
501
481
  :type source_modified_access_conditions:
502
482
  ~azure.storage.blob.models.SourceModifiedAccessConditions
503
- :keyword comp: comp. Default value is "appendblock". Note that overriding this default value
504
- may result in unsupported behavior.
505
- :paramtype comp: str
506
- :keyword callable cls: A custom type or function that will be passed the direct response
507
483
  :return: None or the result of cls(response)
508
484
  :rtype: None
509
485
  :raises ~azure.core.exceptions.HttpResponseError:
@@ -561,7 +537,7 @@ class AppendBlobOperations:
561
537
  _source_if_none_match = source_modified_access_conditions.source_if_none_match
562
538
  _source_if_unmodified_since = source_modified_access_conditions.source_if_unmodified_since
563
539
 
564
- request = build_append_block_from_url_request(
540
+ _request = build_append_block_from_url_request(
565
541
  url=self._config.url,
566
542
  source_url=source_url,
567
543
  content_length=content_length,
@@ -590,16 +566,15 @@ class AppendBlobOperations:
590
566
  copy_source_authorization=copy_source_authorization,
591
567
  comp=comp,
592
568
  version=self._config.version,
593
- template_url=self.append_block_from_url.metadata["url"],
594
569
  headers=_headers,
595
570
  params=_params,
596
571
  )
597
- request = _convert_request(request)
598
- request.url = self._client.format_url(request.url)
572
+ _request = _convert_request(_request)
573
+ _request.url = self._client.format_url(_request.url)
599
574
 
600
575
  _stream = False
601
576
  pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
602
- request, stream=_stream, **kwargs
577
+ _request, stream=_stream, **kwargs
603
578
  )
604
579
 
605
580
  response = pipeline_response.http_response
@@ -636,9 +611,7 @@ class AppendBlobOperations:
636
611
  )
637
612
 
638
613
  if cls:
639
- return cls(pipeline_response, None, response_headers)
640
-
641
- append_block_from_url.metadata = {"url": "{url}"}
614
+ return cls(pipeline_response, None, response_headers) # type: ignore
642
615
 
643
616
  @distributed_trace_async
644
617
  async def seal( # pylint: disable=inconsistent-return-statements
@@ -669,10 +642,6 @@ class AppendBlobOperations:
669
642
  :param append_position_access_conditions: Parameter group. Default value is None.
670
643
  :type append_position_access_conditions:
671
644
  ~azure.storage.blob.models.AppendPositionAccessConditions
672
- :keyword comp: comp. Default value is "seal". Note that overriding this default value may
673
- result in unsupported behavior.
674
- :paramtype comp: str
675
- :keyword callable cls: A custom type or function that will be passed the direct response
676
645
  :return: None or the result of cls(response)
677
646
  :rtype: None
678
647
  :raises ~azure.core.exceptions.HttpResponseError:
@@ -707,7 +676,7 @@ class AppendBlobOperations:
707
676
  if append_position_access_conditions is not None:
708
677
  _append_position = append_position_access_conditions.append_position
709
678
 
710
- request = build_seal_request(
679
+ _request = build_seal_request(
711
680
  url=self._config.url,
712
681
  timeout=timeout,
713
682
  request_id_parameter=request_id_parameter,
@@ -719,16 +688,15 @@ class AppendBlobOperations:
719
688
  append_position=_append_position,
720
689
  comp=comp,
721
690
  version=self._config.version,
722
- template_url=self.seal.metadata["url"],
723
691
  headers=_headers,
724
692
  params=_params,
725
693
  )
726
- request = _convert_request(request)
727
- request.url = self._client.format_url(request.url)
694
+ _request = _convert_request(_request)
695
+ _request.url = self._client.format_url(_request.url)
728
696
 
729
697
  _stream = False
730
698
  pipeline_response: PipelineResponse = await self._client._pipeline.run( # pylint: disable=protected-access
731
- request, stream=_stream, **kwargs
699
+ _request, stream=_stream, **kwargs
732
700
  )
733
701
 
734
702
  response = pipeline_response.http_response
@@ -750,6 +718,4 @@ class AppendBlobOperations:
750
718
  response_headers["x-ms-blob-sealed"] = self._deserialize("bool", response.headers.get("x-ms-blob-sealed"))
751
719
 
752
720
  if cls:
753
- return cls(pipeline_response, None, response_headers)
754
-
755
- seal.metadata = {"url": "{url}"}
721
+ return cls(pipeline_response, None, response_headers) # type: ignore