azure-storage-blob 12.23.0b1__py3-none-any.whl → 12.24.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 (54) hide show
  1. azure/storage/blob/_blob_client.py +34 -10
  2. azure/storage/blob/_blob_client_helpers.py +7 -3
  3. azure/storage/blob/_blob_service_client.py +1 -1
  4. azure/storage/blob/_container_client.py +8 -2
  5. azure/storage/blob/_container_client_helpers.py +11 -6
  6. azure/storage/blob/_deserialize.py +2 -2
  7. azure/storage/blob/_encryption.py +15 -10
  8. azure/storage/blob/_generated/_azure_blob_storage.py +3 -2
  9. azure/storage/blob/_generated/_configuration.py +2 -2
  10. azure/storage/blob/_generated/_serialization.py +267 -150
  11. azure/storage/blob/_generated/aio/_azure_blob_storage.py +3 -2
  12. azure/storage/blob/_generated/aio/_configuration.py +2 -2
  13. azure/storage/blob/_generated/aio/operations/_append_blob_operations.py +23 -11
  14. azure/storage/blob/_generated/aio/operations/_blob_operations.py +137 -73
  15. azure/storage/blob/_generated/aio/operations/_block_blob_operations.py +42 -16
  16. azure/storage/blob/_generated/aio/operations/_container_operations.py +49 -44
  17. azure/storage/blob/_generated/aio/operations/_page_blob_operations.py +35 -23
  18. azure/storage/blob/_generated/aio/operations/_service_operations.py +30 -25
  19. azure/storage/blob/_generated/models/_azure_blob_storage_enums.py +1 -0
  20. azure/storage/blob/_generated/operations/_append_blob_operations.py +35 -15
  21. azure/storage/blob/_generated/operations/_blob_operations.py +187 -98
  22. azure/storage/blob/_generated/operations/_block_blob_operations.py +64 -22
  23. azure/storage/blob/_generated/operations/_container_operations.py +67 -62
  24. azure/storage/blob/_generated/operations/_page_blob_operations.py +52 -32
  25. azure/storage/blob/_generated/operations/_service_operations.py +38 -33
  26. azure/storage/blob/_list_blobs_helper.py +1 -1
  27. azure/storage/blob/_models.py +4 -3
  28. azure/storage/blob/_serialize.py +1 -0
  29. azure/storage/blob/_shared/avro/schema.py +1 -0
  30. azure/storage/blob/_shared/base_client.py +10 -8
  31. azure/storage/blob/_shared/base_client_async.py +5 -5
  32. azure/storage/blob/_shared/models.py +5 -2
  33. azure/storage/blob/_shared/policies.py +14 -16
  34. azure/storage/blob/_shared/policies_async.py +19 -6
  35. azure/storage/blob/_shared/request_handlers.py +2 -3
  36. azure/storage/blob/_shared/response_handlers.py +2 -2
  37. azure/storage/blob/_shared/uploads.py +4 -4
  38. azure/storage/blob/_shared/uploads_async.py +4 -4
  39. azure/storage/blob/_shared_access_signature.py +0 -1
  40. azure/storage/blob/_version.py +1 -1
  41. azure/storage/blob/aio/_blob_client_async.py +36 -13
  42. azure/storage/blob/aio/_blob_service_client_async.py +7 -3
  43. azure/storage/blob/aio/_container_client_async.py +10 -4
  44. azure/storage/blob/aio/_download_async.py +94 -71
  45. azure/storage/blob/aio/_lease_async.py +1 -1
  46. azure/storage/blob/aio/_list_blobs_helper.py +1 -2
  47. azure/storage/blob/aio/_models.py +1 -2
  48. {azure_storage_blob-12.23.0b1.dist-info → azure_storage_blob-12.24.0.dist-info}/METADATA +10 -10
  49. azure_storage_blob-12.24.0.dist-info/RECORD +84 -0
  50. {azure_storage_blob-12.23.0b1.dist-info → azure_storage_blob-12.24.0.dist-info}/WHEEL +1 -1
  51. azure/storage/blob/_generated/_vendor.py +0 -16
  52. azure_storage_blob-12.23.0b1.dist-info/RECORD +0 -85
  53. {azure_storage_blob-12.23.0b1.dist-info → azure_storage_blob-12.24.0.dist-info}/LICENSE +0 -0
  54. {azure_storage_blob-12.23.0b1.dist-info → azure_storage_blob-12.24.0.dist-info}/top_level.txt +0 -0
@@ -19,14 +19,12 @@ from azure.core.exceptions import (
19
19
  map_error,
20
20
  )
21
21
  from azure.core.pipeline import PipelineResponse
22
- from azure.core.pipeline.transport import HttpResponse
23
- from azure.core.rest import HttpRequest
22
+ from azure.core.rest import HttpRequest, HttpResponse
24
23
  from azure.core.tracing.decorator import distributed_trace
25
24
  from azure.core.utils import case_insensitive_dict
26
25
 
27
26
  from .. import models as _models
28
27
  from .._serialization import Serializer
29
- from .._vendor import _convert_request
30
28
 
31
29
  if sys.version_info >= (3, 9):
32
30
  from collections.abc import MutableMapping
@@ -72,7 +70,7 @@ def build_create_request(
72
70
  _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
73
71
 
74
72
  blob_type: Literal["AppendBlob"] = kwargs.pop("blob_type", _headers.pop("x-ms-blob-type", "AppendBlob"))
75
- version: Literal["2024-08-04"] = kwargs.pop("version", _headers.pop("x-ms-version", "2024-08-04"))
73
+ version: Literal["2025-01-05"] = kwargs.pop("version", _headers.pop("x-ms-version", "2025-01-05"))
76
74
  accept = _headers.pop("Accept", "application/xml")
77
75
 
78
76
  # Construct URL
@@ -173,6 +171,8 @@ def build_append_block_request(
173
171
  if_none_match: Optional[str] = None,
174
172
  if_tags: Optional[str] = None,
175
173
  request_id_parameter: Optional[str] = None,
174
+ structured_body_type: Optional[str] = None,
175
+ structured_content_length: Optional[int] = None,
176
176
  **kwargs: Any
177
177
  ) -> HttpRequest:
178
178
  _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
@@ -180,7 +180,7 @@ def build_append_block_request(
180
180
 
181
181
  comp: Literal["appendblock"] = kwargs.pop("comp", _params.pop("comp", "appendblock"))
182
182
  content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
183
- version: Literal["2024-08-04"] = kwargs.pop("version", _headers.pop("x-ms-version", "2024-08-04"))
183
+ version: Literal["2025-01-05"] = kwargs.pop("version", _headers.pop("x-ms-version", "2025-01-05"))
184
184
  accept = _headers.pop("Accept", "application/xml")
185
185
 
186
186
  # Construct URL
@@ -235,6 +235,12 @@ def build_append_block_request(
235
235
  _headers["x-ms-version"] = _SERIALIZER.header("version", version, "str")
236
236
  if request_id_parameter is not None:
237
237
  _headers["x-ms-client-request-id"] = _SERIALIZER.header("request_id_parameter", request_id_parameter, "str")
238
+ if structured_body_type is not None:
239
+ _headers["x-ms-structured-body"] = _SERIALIZER.header("structured_body_type", structured_body_type, "str")
240
+ if structured_content_length is not None:
241
+ _headers["x-ms-structured-content-length"] = _SERIALIZER.header(
242
+ "structured_content_length", structured_content_length, "int"
243
+ )
238
244
  if content_type is not None:
239
245
  _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
240
246
  _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
@@ -276,7 +282,7 @@ def build_append_block_from_url_request(
276
282
  _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
277
283
 
278
284
  comp: Literal["appendblock"] = kwargs.pop("comp", _params.pop("comp", "appendblock"))
279
- version: Literal["2024-08-04"] = kwargs.pop("version", _headers.pop("x-ms-version", "2024-08-04"))
285
+ version: Literal["2025-01-05"] = kwargs.pop("version", _headers.pop("x-ms-version", "2025-01-05"))
280
286
  accept = _headers.pop("Accept", "application/xml")
281
287
 
282
288
  # Construct URL
@@ -374,7 +380,7 @@ def build_seal_request(
374
380
  _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
375
381
 
376
382
  comp: Literal["seal"] = kwargs.pop("comp", _params.pop("comp", "seal"))
377
- version: Literal["2024-08-04"] = kwargs.pop("version", _headers.pop("x-ms-version", "2024-08-04"))
383
+ version: Literal["2025-01-05"] = kwargs.pop("version", _headers.pop("x-ms-version", "2025-01-05"))
378
384
  accept = _headers.pop("Accept", "application/xml")
379
385
 
380
386
  # Construct URL
@@ -448,6 +454,7 @@ class AppendBlobOperations:
448
454
  modified_access_conditions: Optional[_models.ModifiedAccessConditions] = None,
449
455
  **kwargs: Any
450
456
  ) -> None:
457
+ # pylint: disable=line-too-long
451
458
  """The Create Append Blob operation creates a new append blob.
452
459
 
453
460
  :param content_length: The length of the request. Required.
@@ -494,7 +501,7 @@ class AppendBlobOperations:
494
501
  :rtype: None
495
502
  :raises ~azure.core.exceptions.HttpResponseError:
496
503
  """
497
- error_map: MutableMapping[int, Type[HttpResponseError]] = {
504
+ error_map: MutableMapping[int, Type[HttpResponseError]] = { # pylint: disable=unsubscriptable-object
498
505
  401: ClientAuthenticationError,
499
506
  404: ResourceNotFoundError,
500
507
  409: ResourceExistsError,
@@ -577,7 +584,6 @@ class AppendBlobOperations:
577
584
  headers=_headers,
578
585
  params=_params,
579
586
  )
580
- _request = _convert_request(_request)
581
587
  _request.url = self._client.format_url(_request.url)
582
588
 
583
589
  _stream = False
@@ -625,6 +631,8 @@ class AppendBlobOperations:
625
631
  transactional_content_md5: Optional[bytes] = None,
626
632
  transactional_content_crc64: Optional[bytes] = None,
627
633
  request_id_parameter: Optional[str] = None,
634
+ structured_body_type: Optional[str] = None,
635
+ structured_content_length: Optional[int] = None,
628
636
  lease_access_conditions: Optional[_models.LeaseAccessConditions] = None,
629
637
  append_position_access_conditions: Optional[_models.AppendPositionAccessConditions] = None,
630
638
  cpk_info: Optional[_models.CpkInfo] = None,
@@ -632,6 +640,7 @@ class AppendBlobOperations:
632
640
  modified_access_conditions: Optional[_models.ModifiedAccessConditions] = None,
633
641
  **kwargs: Any
634
642
  ) -> None:
643
+ # pylint: disable=line-too-long
635
644
  """The Append Block operation commits a new block of data to the end of an existing append blob.
636
645
  The Append Block operation is permitted only if the blob was created with x-ms-blob-type set to
637
646
  AppendBlob. Append Block is supported only on version 2015-02-21 version or later.
@@ -655,6 +664,13 @@ class AppendBlobOperations:
655
664
  limit that is recorded in the analytics logs when storage analytics logging is enabled. Default
656
665
  value is None.
657
666
  :type request_id_parameter: str
667
+ :param structured_body_type: Required if the request body is a structured message. Specifies
668
+ the message schema version and properties. Default value is None.
669
+ :type structured_body_type: str
670
+ :param structured_content_length: Required if the request body is a structured message.
671
+ Specifies the length of the blob/file content inside the message body. Will always be smaller
672
+ than Content-Length. Default value is None.
673
+ :type structured_content_length: int
658
674
  :param lease_access_conditions: Parameter group. Default value is None.
659
675
  :type lease_access_conditions: ~azure.storage.blob.models.LeaseAccessConditions
660
676
  :param append_position_access_conditions: Parameter group. Default value is None.
@@ -670,7 +686,7 @@ class AppendBlobOperations:
670
686
  :rtype: None
671
687
  :raises ~azure.core.exceptions.HttpResponseError:
672
688
  """
673
- error_map: MutableMapping[int, Type[HttpResponseError]] = {
689
+ error_map: MutableMapping[int, Type[HttpResponseError]] = { # pylint: disable=unsubscriptable-object
674
690
  401: ClientAuthenticationError,
675
691
  404: ResourceNotFoundError,
676
692
  409: ResourceExistsError,
@@ -735,6 +751,8 @@ class AppendBlobOperations:
735
751
  if_none_match=_if_none_match,
736
752
  if_tags=_if_tags,
737
753
  request_id_parameter=request_id_parameter,
754
+ structured_body_type=structured_body_type,
755
+ structured_content_length=structured_content_length,
738
756
  comp=comp,
739
757
  content_type=content_type,
740
758
  version=self._config.version,
@@ -742,7 +760,6 @@ class AppendBlobOperations:
742
760
  headers=_headers,
743
761
  params=_params,
744
762
  )
745
- _request = _convert_request(_request)
746
763
  _request.url = self._client.format_url(_request.url)
747
764
 
748
765
  _stream = False
@@ -785,6 +802,9 @@ class AppendBlobOperations:
785
802
  response_headers["x-ms-encryption-scope"] = self._deserialize(
786
803
  "str", response.headers.get("x-ms-encryption-scope")
787
804
  )
805
+ response_headers["x-ms-structured-body"] = self._deserialize(
806
+ "str", response.headers.get("x-ms-structured-body")
807
+ )
788
808
 
789
809
  if cls:
790
810
  return cls(pipeline_response, None, response_headers) # type: ignore
@@ -809,6 +829,7 @@ class AppendBlobOperations:
809
829
  source_modified_access_conditions: Optional[_models.SourceModifiedAccessConditions] = None,
810
830
  **kwargs: Any
811
831
  ) -> None:
832
+ # pylint: disable=line-too-long
812
833
  """The Append Block operation commits a new block of data to the end of an existing append blob
813
834
  where the contents are read from a source url. The Append Block operation is permitted only if
814
835
  the blob was created with x-ms-blob-type set to AppendBlob. Append Block is supported only on
@@ -859,7 +880,7 @@ class AppendBlobOperations:
859
880
  :rtype: None
860
881
  :raises ~azure.core.exceptions.HttpResponseError:
861
882
  """
862
- error_map: MutableMapping[int, Type[HttpResponseError]] = {
883
+ error_map: MutableMapping[int, Type[HttpResponseError]] = { # pylint: disable=unsubscriptable-object
863
884
  401: ClientAuthenticationError,
864
885
  404: ResourceNotFoundError,
865
886
  409: ResourceExistsError,
@@ -944,7 +965,6 @@ class AppendBlobOperations:
944
965
  headers=_headers,
945
966
  params=_params,
946
967
  )
947
- _request = _convert_request(_request)
948
968
  _request.url = self._client.format_url(_request.url)
949
969
 
950
970
  _stream = False
@@ -998,6 +1018,7 @@ class AppendBlobOperations:
998
1018
  append_position_access_conditions: Optional[_models.AppendPositionAccessConditions] = None,
999
1019
  **kwargs: Any
1000
1020
  ) -> None:
1021
+ # pylint: disable=line-too-long
1001
1022
  """The Seal operation seals the Append Blob to make it read-only. Seal is supported only on
1002
1023
  version 2019-12-12 version or later.
1003
1024
 
@@ -1021,7 +1042,7 @@ class AppendBlobOperations:
1021
1042
  :rtype: None
1022
1043
  :raises ~azure.core.exceptions.HttpResponseError:
1023
1044
  """
1024
- error_map: MutableMapping[int, Type[HttpResponseError]] = {
1045
+ error_map: MutableMapping[int, Type[HttpResponseError]] = { # pylint: disable=unsubscriptable-object
1025
1046
  401: ClientAuthenticationError,
1026
1047
  404: ResourceNotFoundError,
1027
1048
  409: ResourceExistsError,
@@ -1066,7 +1087,6 @@ class AppendBlobOperations:
1066
1087
  headers=_headers,
1067
1088
  params=_params,
1068
1089
  )
1069
- _request = _convert_request(_request)
1070
1090
  _request.url = self._client.format_url(_request.url)
1071
1091
 
1072
1092
  _stream = False