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
@@ -16,17 +16,17 @@ from azure.core.exceptions import (
16
16
  ResourceExistsError,
17
17
  ResourceNotFoundError,
18
18
  ResourceNotModifiedError,
19
+ StreamClosedError,
20
+ StreamConsumedError,
19
21
  map_error,
20
22
  )
21
23
  from azure.core.pipeline import PipelineResponse
22
- from azure.core.pipeline.transport import HttpResponse
23
- from azure.core.rest import HttpRequest
24
+ from azure.core.rest import HttpRequest, HttpResponse
24
25
  from azure.core.tracing.decorator import distributed_trace
25
26
  from azure.core.utils import case_insensitive_dict
26
27
 
27
28
  from .. import models as _models
28
29
  from .._serialization import Serializer
29
- from .._vendor import _convert_request
30
30
 
31
31
  if sys.version_info >= (3, 9):
32
32
  from collections.abc import MutableMapping
@@ -54,7 +54,7 @@ def build_create_request(
54
54
  _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
55
55
 
56
56
  restype: Literal["container"] = kwargs.pop("restype", _params.pop("restype", "container"))
57
- version: Literal["2024-08-04"] = kwargs.pop("version", _headers.pop("x-ms-version", "2024-08-04"))
57
+ version: Literal["2025-01-05"] = kwargs.pop("version", _headers.pop("x-ms-version", "2025-01-05"))
58
58
  accept = _headers.pop("Accept", "application/xml")
59
59
 
60
60
  # Construct URL
@@ -103,7 +103,7 @@ def build_get_properties_request(
103
103
  _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
104
104
 
105
105
  restype: Literal["container"] = kwargs.pop("restype", _params.pop("restype", "container"))
106
- version: Literal["2024-08-04"] = kwargs.pop("version", _headers.pop("x-ms-version", "2024-08-04"))
106
+ version: Literal["2025-01-05"] = kwargs.pop("version", _headers.pop("x-ms-version", "2025-01-05"))
107
107
  accept = _headers.pop("Accept", "application/xml")
108
108
 
109
109
  # Construct URL
@@ -144,7 +144,7 @@ def build_delete_request(
144
144
  _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
145
145
 
146
146
  restype: Literal["container"] = kwargs.pop("restype", _params.pop("restype", "container"))
147
- version: Literal["2024-08-04"] = kwargs.pop("version", _headers.pop("x-ms-version", "2024-08-04"))
147
+ version: Literal["2025-01-05"] = kwargs.pop("version", _headers.pop("x-ms-version", "2025-01-05"))
148
148
  accept = _headers.pop("Accept", "application/xml")
149
149
 
150
150
  # Construct URL
@@ -190,7 +190,7 @@ def build_set_metadata_request(
190
190
 
191
191
  restype: Literal["container"] = kwargs.pop("restype", _params.pop("restype", "container"))
192
192
  comp: Literal["metadata"] = kwargs.pop("comp", _params.pop("comp", "metadata"))
193
- version: Literal["2024-08-04"] = kwargs.pop("version", _headers.pop("x-ms-version", "2024-08-04"))
193
+ version: Literal["2025-01-05"] = kwargs.pop("version", _headers.pop("x-ms-version", "2025-01-05"))
194
194
  accept = _headers.pop("Accept", "application/xml")
195
195
 
196
196
  # Construct URL
@@ -235,7 +235,7 @@ def build_get_access_policy_request(
235
235
 
236
236
  restype: Literal["container"] = kwargs.pop("restype", _params.pop("restype", "container"))
237
237
  comp: Literal["acl"] = kwargs.pop("comp", _params.pop("comp", "acl"))
238
- version: Literal["2024-08-04"] = kwargs.pop("version", _headers.pop("x-ms-version", "2024-08-04"))
238
+ version: Literal["2025-01-05"] = kwargs.pop("version", _headers.pop("x-ms-version", "2025-01-05"))
239
239
  accept = _headers.pop("Accept", "application/xml")
240
240
 
241
241
  # Construct URL
@@ -281,7 +281,7 @@ def build_set_access_policy_request(
281
281
  restype: Literal["container"] = kwargs.pop("restype", _params.pop("restype", "container"))
282
282
  comp: Literal["acl"] = kwargs.pop("comp", _params.pop("comp", "acl"))
283
283
  content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
284
- version: Literal["2024-08-04"] = kwargs.pop("version", _headers.pop("x-ms-version", "2024-08-04"))
284
+ version: Literal["2025-01-05"] = kwargs.pop("version", _headers.pop("x-ms-version", "2025-01-05"))
285
285
  accept = _headers.pop("Accept", "application/xml")
286
286
 
287
287
  # Construct URL
@@ -331,7 +331,7 @@ def build_restore_request(
331
331
 
332
332
  restype: Literal["container"] = kwargs.pop("restype", _params.pop("restype", "container"))
333
333
  comp: Literal["undelete"] = kwargs.pop("comp", _params.pop("comp", "undelete"))
334
- version: Literal["2024-08-04"] = kwargs.pop("version", _headers.pop("x-ms-version", "2024-08-04"))
334
+ version: Literal["2025-01-05"] = kwargs.pop("version", _headers.pop("x-ms-version", "2025-01-05"))
335
335
  accept = _headers.pop("Accept", "application/xml")
336
336
 
337
337
  # Construct URL
@@ -379,7 +379,7 @@ def build_rename_request(
379
379
 
380
380
  restype: Literal["container"] = kwargs.pop("restype", _params.pop("restype", "container"))
381
381
  comp: Literal["rename"] = kwargs.pop("comp", _params.pop("comp", "rename"))
382
- version: Literal["2024-08-04"] = kwargs.pop("version", _headers.pop("x-ms-version", "2024-08-04"))
382
+ version: Literal["2025-01-05"] = kwargs.pop("version", _headers.pop("x-ms-version", "2025-01-05"))
383
383
  accept = _headers.pop("Accept", "application/xml")
384
384
 
385
385
  # Construct URL
@@ -423,7 +423,7 @@ def build_submit_batch_request(
423
423
  restype: Literal["container"] = kwargs.pop("restype", _params.pop("restype", "container"))
424
424
  comp: Literal["batch"] = kwargs.pop("comp", _params.pop("comp", "batch"))
425
425
  multipart_content_type: Optional[str] = kwargs.pop("multipart_content_type", _headers.pop("Content-Type", None))
426
- version: Literal["2024-08-04"] = kwargs.pop("version", _headers.pop("x-ms-version", "2024-08-04"))
426
+ version: Literal["2025-01-05"] = kwargs.pop("version", _headers.pop("x-ms-version", "2025-01-05"))
427
427
  accept = _headers.pop("Accept", "application/xml")
428
428
 
429
429
  # Construct URL
@@ -468,7 +468,7 @@ def build_filter_blobs_request(
468
468
 
469
469
  restype: Literal["container"] = kwargs.pop("restype", _params.pop("restype", "container"))
470
470
  comp: Literal["blobs"] = kwargs.pop("comp", _params.pop("comp", "blobs"))
471
- version: Literal["2024-08-04"] = kwargs.pop("version", _headers.pop("x-ms-version", "2024-08-04"))
471
+ version: Literal["2025-01-05"] = kwargs.pop("version", _headers.pop("x-ms-version", "2025-01-05"))
472
472
  accept = _headers.pop("Accept", "application/xml")
473
473
 
474
474
  # Construct URL
@@ -519,7 +519,7 @@ def build_acquire_lease_request(
519
519
  comp: Literal["lease"] = kwargs.pop("comp", _params.pop("comp", "lease"))
520
520
  restype: Literal["container"] = kwargs.pop("restype", _params.pop("restype", "container"))
521
521
  action: Literal["acquire"] = kwargs.pop("action", _headers.pop("x-ms-lease-action", "acquire"))
522
- version: Literal["2024-08-04"] = kwargs.pop("version", _headers.pop("x-ms-version", "2024-08-04"))
522
+ version: Literal["2025-01-05"] = kwargs.pop("version", _headers.pop("x-ms-version", "2025-01-05"))
523
523
  accept = _headers.pop("Accept", "application/xml")
524
524
 
525
525
  # Construct URL
@@ -570,7 +570,7 @@ def build_release_lease_request(
570
570
  comp: Literal["lease"] = kwargs.pop("comp", _params.pop("comp", "lease"))
571
571
  restype: Literal["container"] = kwargs.pop("restype", _params.pop("restype", "container"))
572
572
  action: Literal["release"] = kwargs.pop("action", _headers.pop("x-ms-lease-action", "release"))
573
- version: Literal["2024-08-04"] = kwargs.pop("version", _headers.pop("x-ms-version", "2024-08-04"))
573
+ version: Literal["2025-01-05"] = kwargs.pop("version", _headers.pop("x-ms-version", "2025-01-05"))
574
574
  accept = _headers.pop("Accept", "application/xml")
575
575
 
576
576
  # Construct URL
@@ -618,7 +618,7 @@ def build_renew_lease_request(
618
618
  comp: Literal["lease"] = kwargs.pop("comp", _params.pop("comp", "lease"))
619
619
  restype: Literal["container"] = kwargs.pop("restype", _params.pop("restype", "container"))
620
620
  action: Literal["renew"] = kwargs.pop("action", _headers.pop("x-ms-lease-action", "renew"))
621
- version: Literal["2024-08-04"] = kwargs.pop("version", _headers.pop("x-ms-version", "2024-08-04"))
621
+ version: Literal["2025-01-05"] = kwargs.pop("version", _headers.pop("x-ms-version", "2025-01-05"))
622
622
  accept = _headers.pop("Accept", "application/xml")
623
623
 
624
624
  # Construct URL
@@ -666,7 +666,7 @@ def build_break_lease_request(
666
666
  comp: Literal["lease"] = kwargs.pop("comp", _params.pop("comp", "lease"))
667
667
  restype: Literal["container"] = kwargs.pop("restype", _params.pop("restype", "container"))
668
668
  action: Literal["break"] = kwargs.pop("action", _headers.pop("x-ms-lease-action", "break"))
669
- version: Literal["2024-08-04"] = kwargs.pop("version", _headers.pop("x-ms-version", "2024-08-04"))
669
+ version: Literal["2025-01-05"] = kwargs.pop("version", _headers.pop("x-ms-version", "2025-01-05"))
670
670
  accept = _headers.pop("Accept", "application/xml")
671
671
 
672
672
  # Construct URL
@@ -716,7 +716,7 @@ def build_change_lease_request(
716
716
  comp: Literal["lease"] = kwargs.pop("comp", _params.pop("comp", "lease"))
717
717
  restype: Literal["container"] = kwargs.pop("restype", _params.pop("restype", "container"))
718
718
  action: Literal["change"] = kwargs.pop("action", _headers.pop("x-ms-lease-action", "change"))
719
- version: Literal["2024-08-04"] = kwargs.pop("version", _headers.pop("x-ms-version", "2024-08-04"))
719
+ version: Literal["2025-01-05"] = kwargs.pop("version", _headers.pop("x-ms-version", "2025-01-05"))
720
720
  accept = _headers.pop("Accept", "application/xml")
721
721
 
722
722
  # Construct URL
@@ -765,7 +765,7 @@ def build_list_blob_flat_segment_request(
765
765
 
766
766
  restype: Literal["container"] = kwargs.pop("restype", _params.pop("restype", "container"))
767
767
  comp: Literal["list"] = kwargs.pop("comp", _params.pop("comp", "list"))
768
- version: Literal["2024-08-04"] = kwargs.pop("version", _headers.pop("x-ms-version", "2024-08-04"))
768
+ version: Literal["2025-01-05"] = kwargs.pop("version", _headers.pop("x-ms-version", "2025-01-05"))
769
769
  accept = _headers.pop("Accept", "application/xml")
770
770
 
771
771
  # Construct URL
@@ -816,7 +816,7 @@ def build_list_blob_hierarchy_segment_request( # pylint: disable=name-too-long
816
816
 
817
817
  restype: Literal["container"] = kwargs.pop("restype", _params.pop("restype", "container"))
818
818
  comp: Literal["list"] = kwargs.pop("comp", _params.pop("comp", "list"))
819
- version: Literal["2024-08-04"] = kwargs.pop("version", _headers.pop("x-ms-version", "2024-08-04"))
819
+ version: Literal["2025-01-05"] = kwargs.pop("version", _headers.pop("x-ms-version", "2025-01-05"))
820
820
  accept = _headers.pop("Accept", "application/xml")
821
821
 
822
822
  # Construct URL
@@ -859,7 +859,7 @@ def build_get_account_info_request(
859
859
 
860
860
  restype: Literal["account"] = kwargs.pop("restype", _params.pop("restype", "account"))
861
861
  comp: Literal["properties"] = kwargs.pop("comp", _params.pop("comp", "properties"))
862
- version: Literal["2024-08-04"] = kwargs.pop("version", _headers.pop("x-ms-version", "2024-08-04"))
862
+ version: Literal["2025-01-05"] = kwargs.pop("version", _headers.pop("x-ms-version", "2025-01-05"))
863
863
  accept = _headers.pop("Accept", "application/xml")
864
864
 
865
865
  # Construct URL
@@ -914,6 +914,7 @@ class ContainerOperations:
914
914
  container_cpk_scope_info: Optional[_models.ContainerCpkScopeInfo] = None,
915
915
  **kwargs: Any
916
916
  ) -> None:
917
+ # pylint: disable=line-too-long
917
918
  """creates a new container under the specified account. If the container with the same name
918
919
  already exists, the operation fails.
919
920
 
@@ -943,7 +944,7 @@ class ContainerOperations:
943
944
  :rtype: None
944
945
  :raises ~azure.core.exceptions.HttpResponseError:
945
946
  """
946
- error_map: MutableMapping[int, Type[HttpResponseError]] = {
947
+ error_map: MutableMapping[int, Type[HttpResponseError]] = { # pylint: disable=unsubscriptable-object
947
948
  401: ClientAuthenticationError,
948
949
  404: ResourceNotFoundError,
949
950
  409: ResourceExistsError,
@@ -976,7 +977,6 @@ class ContainerOperations:
976
977
  headers=_headers,
977
978
  params=_params,
978
979
  )
979
- _request = _convert_request(_request)
980
980
  _request.url = self._client.format_url(_request.url)
981
981
 
982
982
  _stream = False
@@ -1012,6 +1012,7 @@ class ContainerOperations:
1012
1012
  lease_access_conditions: Optional[_models.LeaseAccessConditions] = None,
1013
1013
  **kwargs: Any
1014
1014
  ) -> None:
1015
+ # pylint: disable=line-too-long
1015
1016
  """returns all user-defined metadata and system properties for the specified container. The data
1016
1017
  returned does not include the container's list of blobs.
1017
1018
 
@@ -1030,7 +1031,7 @@ class ContainerOperations:
1030
1031
  :rtype: None
1031
1032
  :raises ~azure.core.exceptions.HttpResponseError:
1032
1033
  """
1033
- error_map: MutableMapping[int, Type[HttpResponseError]] = {
1034
+ error_map: MutableMapping[int, Type[HttpResponseError]] = { # pylint: disable=unsubscriptable-object
1034
1035
  401: ClientAuthenticationError,
1035
1036
  404: ResourceNotFoundError,
1036
1037
  409: ResourceExistsError,
@@ -1058,7 +1059,6 @@ class ContainerOperations:
1058
1059
  headers=_headers,
1059
1060
  params=_params,
1060
1061
  )
1061
- _request = _convert_request(_request)
1062
1062
  _request.url = self._client.format_url(_request.url)
1063
1063
 
1064
1064
  _stream = False
@@ -1115,6 +1115,7 @@ class ContainerOperations:
1115
1115
  modified_access_conditions: Optional[_models.ModifiedAccessConditions] = None,
1116
1116
  **kwargs: Any
1117
1117
  ) -> None:
1118
+ # pylint: disable=line-too-long
1118
1119
  """operation marks the specified container for deletion. The container and any blobs contained
1119
1120
  within it are later deleted during garbage collection.
1120
1121
 
@@ -1135,7 +1136,7 @@ class ContainerOperations:
1135
1136
  :rtype: None
1136
1137
  :raises ~azure.core.exceptions.HttpResponseError:
1137
1138
  """
1138
- error_map: MutableMapping[int, Type[HttpResponseError]] = {
1139
+ error_map: MutableMapping[int, Type[HttpResponseError]] = { # pylint: disable=unsubscriptable-object
1139
1140
  401: ClientAuthenticationError,
1140
1141
  404: ResourceNotFoundError,
1141
1142
  409: ResourceExistsError,
@@ -1170,7 +1171,6 @@ class ContainerOperations:
1170
1171
  headers=_headers,
1171
1172
  params=_params,
1172
1173
  )
1173
- _request = _convert_request(_request)
1174
1174
  _request.url = self._client.format_url(_request.url)
1175
1175
 
1176
1176
  _stream = False
@@ -1206,6 +1206,7 @@ class ContainerOperations:
1206
1206
  modified_access_conditions: Optional[_models.ModifiedAccessConditions] = None,
1207
1207
  **kwargs: Any
1208
1208
  ) -> None:
1209
+ # pylint: disable=line-too-long
1209
1210
  """operation sets one or more user-defined name-value pairs for the specified container.
1210
1211
 
1211
1212
  :param timeout: The timeout parameter is expressed in seconds. For more information, see
@@ -1233,7 +1234,7 @@ class ContainerOperations:
1233
1234
  :rtype: None
1234
1235
  :raises ~azure.core.exceptions.HttpResponseError:
1235
1236
  """
1236
- error_map: MutableMapping[int, Type[HttpResponseError]] = {
1237
+ error_map: MutableMapping[int, Type[HttpResponseError]] = { # pylint: disable=unsubscriptable-object
1237
1238
  401: ClientAuthenticationError,
1238
1239
  404: ResourceNotFoundError,
1239
1240
  409: ResourceExistsError,
@@ -1268,7 +1269,6 @@ class ContainerOperations:
1268
1269
  headers=_headers,
1269
1270
  params=_params,
1270
1271
  )
1271
- _request = _convert_request(_request)
1272
1272
  _request.url = self._client.format_url(_request.url)
1273
1273
 
1274
1274
  _stream = False
@@ -1304,6 +1304,7 @@ class ContainerOperations:
1304
1304
  lease_access_conditions: Optional[_models.LeaseAccessConditions] = None,
1305
1305
  **kwargs: Any
1306
1306
  ) -> List[_models.SignedIdentifier]:
1307
+ # pylint: disable=line-too-long
1307
1308
  """gets the permissions for the specified container. The permissions indicate whether container
1308
1309
  data may be accessed publicly.
1309
1310
 
@@ -1322,7 +1323,7 @@ class ContainerOperations:
1322
1323
  :rtype: list[~azure.storage.blob.models.SignedIdentifier]
1323
1324
  :raises ~azure.core.exceptions.HttpResponseError:
1324
1325
  """
1325
- error_map: MutableMapping[int, Type[HttpResponseError]] = {
1326
+ error_map: MutableMapping[int, Type[HttpResponseError]] = { # pylint: disable=unsubscriptable-object
1326
1327
  401: ClientAuthenticationError,
1327
1328
  404: ResourceNotFoundError,
1328
1329
  409: ResourceExistsError,
@@ -1352,7 +1353,6 @@ class ContainerOperations:
1352
1353
  headers=_headers,
1353
1354
  params=_params,
1354
1355
  )
1355
- _request = _convert_request(_request)
1356
1356
  _request.url = self._client.format_url(_request.url)
1357
1357
 
1358
1358
  _stream = False
@@ -1380,7 +1380,7 @@ class ContainerOperations:
1380
1380
  response_headers["x-ms-version"] = self._deserialize("str", response.headers.get("x-ms-version"))
1381
1381
  response_headers["Date"] = self._deserialize("rfc-1123", response.headers.get("Date"))
1382
1382
 
1383
- deserialized = self._deserialize("[SignedIdentifier]", pipeline_response)
1383
+ deserialized = self._deserialize("[SignedIdentifier]", pipeline_response.http_response)
1384
1384
 
1385
1385
  if cls:
1386
1386
  return cls(pipeline_response, deserialized, response_headers) # type: ignore
@@ -1398,6 +1398,7 @@ class ContainerOperations:
1398
1398
  container_acl: Optional[List[_models.SignedIdentifier]] = None,
1399
1399
  **kwargs: Any
1400
1400
  ) -> None:
1401
+ # pylint: disable=line-too-long
1401
1402
  """sets the permissions for the specified container. The permissions indicate whether blobs in a
1402
1403
  container may be accessed publicly.
1403
1404
 
@@ -1423,7 +1424,7 @@ class ContainerOperations:
1423
1424
  :rtype: None
1424
1425
  :raises ~azure.core.exceptions.HttpResponseError:
1425
1426
  """
1426
- error_map: MutableMapping[int, Type[HttpResponseError]] = {
1427
+ error_map: MutableMapping[int, Type[HttpResponseError]] = { # pylint: disable=unsubscriptable-object
1427
1428
  401: ClientAuthenticationError,
1428
1429
  404: ResourceNotFoundError,
1429
1430
  409: ResourceExistsError,
@@ -1471,7 +1472,6 @@ class ContainerOperations:
1471
1472
  headers=_headers,
1472
1473
  params=_params,
1473
1474
  )
1474
- _request = _convert_request(_request)
1475
1475
  _request.url = self._client.format_url(_request.url)
1476
1476
 
1477
1477
  _stream = False
@@ -1508,6 +1508,7 @@ class ContainerOperations:
1508
1508
  deleted_container_version: Optional[str] = None,
1509
1509
  **kwargs: Any
1510
1510
  ) -> None:
1511
+ # pylint: disable=line-too-long
1511
1512
  """Restores a previously-deleted container.
1512
1513
 
1513
1514
  :param timeout: The timeout parameter is expressed in seconds. For more information, see
@@ -1529,7 +1530,7 @@ class ContainerOperations:
1529
1530
  :rtype: None
1530
1531
  :raises ~azure.core.exceptions.HttpResponseError:
1531
1532
  """
1532
- error_map: MutableMapping[int, Type[HttpResponseError]] = {
1533
+ error_map: MutableMapping[int, Type[HttpResponseError]] = { # pylint: disable=unsubscriptable-object
1533
1534
  401: ClientAuthenticationError,
1534
1535
  404: ResourceNotFoundError,
1535
1536
  409: ResourceExistsError,
@@ -1556,7 +1557,6 @@ class ContainerOperations:
1556
1557
  headers=_headers,
1557
1558
  params=_params,
1558
1559
  )
1559
- _request = _convert_request(_request)
1560
1560
  _request.url = self._client.format_url(_request.url)
1561
1561
 
1562
1562
  _stream = False
@@ -1591,6 +1591,7 @@ class ContainerOperations:
1591
1591
  source_lease_id: Optional[str] = None,
1592
1592
  **kwargs: Any
1593
1593
  ) -> None:
1594
+ # pylint: disable=line-too-long
1594
1595
  """Renames an existing container.
1595
1596
 
1596
1597
  :param source_container_name: Required. Specifies the name of the container to rename.
@@ -1612,7 +1613,7 @@ class ContainerOperations:
1612
1613
  :rtype: None
1613
1614
  :raises ~azure.core.exceptions.HttpResponseError:
1614
1615
  """
1615
- error_map: MutableMapping[int, Type[HttpResponseError]] = {
1616
+ error_map: MutableMapping[int, Type[HttpResponseError]] = { # pylint: disable=unsubscriptable-object
1616
1617
  401: ClientAuthenticationError,
1617
1618
  404: ResourceNotFoundError,
1618
1619
  409: ResourceExistsError,
@@ -1639,7 +1640,6 @@ class ContainerOperations:
1639
1640
  headers=_headers,
1640
1641
  params=_params,
1641
1642
  )
1642
- _request = _convert_request(_request)
1643
1643
  _request.url = self._client.format_url(_request.url)
1644
1644
 
1645
1645
  _stream = False
@@ -1674,6 +1674,7 @@ class ContainerOperations:
1674
1674
  request_id_parameter: Optional[str] = None,
1675
1675
  **kwargs: Any
1676
1676
  ) -> Iterator[bytes]:
1677
+ # pylint: disable=line-too-long
1677
1678
  """The Batch operation allows multiple API calls to be embedded into a single HTTP request.
1678
1679
 
1679
1680
  :param content_length: The length of the request. Required.
@@ -1693,7 +1694,7 @@ class ContainerOperations:
1693
1694
  :rtype: Iterator[bytes]
1694
1695
  :raises ~azure.core.exceptions.HttpResponseError:
1695
1696
  """
1696
- error_map: MutableMapping[int, Type[HttpResponseError]] = {
1697
+ error_map: MutableMapping[int, Type[HttpResponseError]] = { # pylint: disable=unsubscriptable-object
1697
1698
  401: ClientAuthenticationError,
1698
1699
  404: ResourceNotFoundError,
1699
1700
  409: ResourceExistsError,
@@ -1726,9 +1727,9 @@ class ContainerOperations:
1726
1727
  headers=_headers,
1727
1728
  params=_params,
1728
1729
  )
1729
- _request = _convert_request(_request)
1730
1730
  _request.url = self._client.format_url(_request.url)
1731
1731
 
1732
+ _decompress = kwargs.pop("decompress", True)
1732
1733
  _stream = True
1733
1734
  pipeline_response: PipelineResponse = self._client._pipeline.run( # pylint: disable=protected-access
1734
1735
  _request, stream=_stream, **kwargs
@@ -1737,6 +1738,10 @@ class ContainerOperations:
1737
1738
  response = pipeline_response.http_response
1738
1739
 
1739
1740
  if response.status_code not in [202]:
1741
+ try:
1742
+ response.read() # Load the body in memory and close the socket
1743
+ except (StreamConsumedError, StreamClosedError):
1744
+ pass
1740
1745
  map_error(status_code=response.status_code, response=response, error_map=error_map)
1741
1746
  error = self._deserialize.failsafe_deserialize(_models.StorageError, pipeline_response)
1742
1747
  raise HttpResponseError(response=response, model=error)
@@ -1746,7 +1751,7 @@ class ContainerOperations:
1746
1751
  response_headers["x-ms-request-id"] = self._deserialize("str", response.headers.get("x-ms-request-id"))
1747
1752
  response_headers["x-ms-version"] = self._deserialize("str", response.headers.get("x-ms-version"))
1748
1753
 
1749
- deserialized = response.stream_download(self._client._pipeline)
1754
+ deserialized = response.stream_download(self._client._pipeline, decompress=_decompress)
1750
1755
 
1751
1756
  if cls:
1752
1757
  return cls(pipeline_response, deserialized, response_headers) # type: ignore
@@ -1764,6 +1769,7 @@ class ContainerOperations:
1764
1769
  include: Optional[List[Union[str, _models.FilterBlobsIncludeItem]]] = None,
1765
1770
  **kwargs: Any
1766
1771
  ) -> _models.FilterBlobSegment:
1772
+ # pylint: disable=line-too-long
1767
1773
  """The Filter Blobs operation enables callers to list blobs in a container whose tags match a
1768
1774
  given search expression. Filter blobs searches within the given container.
1769
1775
 
@@ -1800,7 +1806,7 @@ class ContainerOperations:
1800
1806
  :rtype: ~azure.storage.blob.models.FilterBlobSegment
1801
1807
  :raises ~azure.core.exceptions.HttpResponseError:
1802
1808
  """
1803
- error_map: MutableMapping[int, Type[HttpResponseError]] = {
1809
+ error_map: MutableMapping[int, Type[HttpResponseError]] = { # pylint: disable=unsubscriptable-object
1804
1810
  401: ClientAuthenticationError,
1805
1811
  404: ResourceNotFoundError,
1806
1812
  409: ResourceExistsError,
@@ -1829,7 +1835,6 @@ class ContainerOperations:
1829
1835
  headers=_headers,
1830
1836
  params=_params,
1831
1837
  )
1832
- _request = _convert_request(_request)
1833
1838
  _request.url = self._client.format_url(_request.url)
1834
1839
 
1835
1840
  _stream = False
@@ -1852,7 +1857,7 @@ class ContainerOperations:
1852
1857
  response_headers["x-ms-version"] = self._deserialize("str", response.headers.get("x-ms-version"))
1853
1858
  response_headers["Date"] = self._deserialize("rfc-1123", response.headers.get("Date"))
1854
1859
 
1855
- deserialized = self._deserialize("FilterBlobSegment", pipeline_response)
1860
+ deserialized = self._deserialize("FilterBlobSegment", pipeline_response.http_response)
1856
1861
 
1857
1862
  if cls:
1858
1863
  return cls(pipeline_response, deserialized, response_headers) # type: ignore
@@ -1869,6 +1874,7 @@ class ContainerOperations:
1869
1874
  modified_access_conditions: Optional[_models.ModifiedAccessConditions] = None,
1870
1875
  **kwargs: Any
1871
1876
  ) -> None:
1877
+ # pylint: disable=line-too-long
1872
1878
  """[Update] establishes and manages a lock on a container for delete operations. The lock duration
1873
1879
  can be 15 to 60 seconds, or can be infinite.
1874
1880
 
@@ -1895,7 +1901,7 @@ class ContainerOperations:
1895
1901
  :rtype: None
1896
1902
  :raises ~azure.core.exceptions.HttpResponseError:
1897
1903
  """
1898
- error_map: MutableMapping[int, Type[HttpResponseError]] = {
1904
+ error_map: MutableMapping[int, Type[HttpResponseError]] = { # pylint: disable=unsubscriptable-object
1899
1905
  401: ClientAuthenticationError,
1900
1906
  404: ResourceNotFoundError,
1901
1907
  409: ResourceExistsError,
@@ -1932,7 +1938,6 @@ class ContainerOperations:
1932
1938
  headers=_headers,
1933
1939
  params=_params,
1934
1940
  )
1935
- _request = _convert_request(_request)
1936
1941
  _request.url = self._client.format_url(_request.url)
1937
1942
 
1938
1943
  _stream = False
@@ -1970,6 +1975,7 @@ class ContainerOperations:
1970
1975
  modified_access_conditions: Optional[_models.ModifiedAccessConditions] = None,
1971
1976
  **kwargs: Any
1972
1977
  ) -> None:
1978
+ # pylint: disable=line-too-long
1973
1979
  """[Update] establishes and manages a lock on a container for delete operations. The lock duration
1974
1980
  can be 15 to 60 seconds, or can be infinite.
1975
1981
 
@@ -1990,7 +1996,7 @@ class ContainerOperations:
1990
1996
  :rtype: None
1991
1997
  :raises ~azure.core.exceptions.HttpResponseError:
1992
1998
  """
1993
- error_map: MutableMapping[int, Type[HttpResponseError]] = {
1999
+ error_map: MutableMapping[int, Type[HttpResponseError]] = { # pylint: disable=unsubscriptable-object
1994
2000
  401: ClientAuthenticationError,
1995
2001
  404: ResourceNotFoundError,
1996
2002
  409: ResourceExistsError,
@@ -2026,7 +2032,6 @@ class ContainerOperations:
2026
2032
  headers=_headers,
2027
2033
  params=_params,
2028
2034
  )
2029
- _request = _convert_request(_request)
2030
2035
  _request.url = self._client.format_url(_request.url)
2031
2036
 
2032
2037
  _stream = False
@@ -2063,6 +2068,7 @@ class ContainerOperations:
2063
2068
  modified_access_conditions: Optional[_models.ModifiedAccessConditions] = None,
2064
2069
  **kwargs: Any
2065
2070
  ) -> None:
2071
+ # pylint: disable=line-too-long
2066
2072
  """[Update] establishes and manages a lock on a container for delete operations. The lock duration
2067
2073
  can be 15 to 60 seconds, or can be infinite.
2068
2074
 
@@ -2083,7 +2089,7 @@ class ContainerOperations:
2083
2089
  :rtype: None
2084
2090
  :raises ~azure.core.exceptions.HttpResponseError:
2085
2091
  """
2086
- error_map: MutableMapping[int, Type[HttpResponseError]] = {
2092
+ error_map: MutableMapping[int, Type[HttpResponseError]] = { # pylint: disable=unsubscriptable-object
2087
2093
  401: ClientAuthenticationError,
2088
2094
  404: ResourceNotFoundError,
2089
2095
  409: ResourceExistsError,
@@ -2119,7 +2125,6 @@ class ContainerOperations:
2119
2125
  headers=_headers,
2120
2126
  params=_params,
2121
2127
  )
2122
- _request = _convert_request(_request)
2123
2128
  _request.url = self._client.format_url(_request.url)
2124
2129
 
2125
2130
  _stream = False
@@ -2157,6 +2162,7 @@ class ContainerOperations:
2157
2162
  modified_access_conditions: Optional[_models.ModifiedAccessConditions] = None,
2158
2163
  **kwargs: Any
2159
2164
  ) -> None:
2165
+ # pylint: disable=line-too-long
2160
2166
  """[Update] establishes and manages a lock on a container for delete operations. The lock duration
2161
2167
  can be 15 to 60 seconds, or can be infinite.
2162
2168
 
@@ -2183,7 +2189,7 @@ class ContainerOperations:
2183
2189
  :rtype: None
2184
2190
  :raises ~azure.core.exceptions.HttpResponseError:
2185
2191
  """
2186
- error_map: MutableMapping[int, Type[HttpResponseError]] = {
2192
+ error_map: MutableMapping[int, Type[HttpResponseError]] = { # pylint: disable=unsubscriptable-object
2187
2193
  401: ClientAuthenticationError,
2188
2194
  404: ResourceNotFoundError,
2189
2195
  409: ResourceExistsError,
@@ -2219,7 +2225,6 @@ class ContainerOperations:
2219
2225
  headers=_headers,
2220
2226
  params=_params,
2221
2227
  )
2222
- _request = _convert_request(_request)
2223
2228
  _request.url = self._client.format_url(_request.url)
2224
2229
 
2225
2230
  _stream = False
@@ -2258,6 +2263,7 @@ class ContainerOperations:
2258
2263
  modified_access_conditions: Optional[_models.ModifiedAccessConditions] = None,
2259
2264
  **kwargs: Any
2260
2265
  ) -> None:
2266
+ # pylint: disable=line-too-long
2261
2267
  """[Update] establishes and manages a lock on a container for delete operations. The lock duration
2262
2268
  can be 15 to 60 seconds, or can be infinite.
2263
2269
 
@@ -2282,7 +2288,7 @@ class ContainerOperations:
2282
2288
  :rtype: None
2283
2289
  :raises ~azure.core.exceptions.HttpResponseError:
2284
2290
  """
2285
- error_map: MutableMapping[int, Type[HttpResponseError]] = {
2291
+ error_map: MutableMapping[int, Type[HttpResponseError]] = { # pylint: disable=unsubscriptable-object
2286
2292
  401: ClientAuthenticationError,
2287
2293
  404: ResourceNotFoundError,
2288
2294
  409: ResourceExistsError,
@@ -2319,7 +2325,6 @@ class ContainerOperations:
2319
2325
  headers=_headers,
2320
2326
  params=_params,
2321
2327
  )
2322
- _request = _convert_request(_request)
2323
2328
  _request.url = self._client.format_url(_request.url)
2324
2329
 
2325
2330
  _stream = False
@@ -2359,6 +2364,7 @@ class ContainerOperations:
2359
2364
  request_id_parameter: Optional[str] = None,
2360
2365
  **kwargs: Any
2361
2366
  ) -> _models.ListBlobsFlatSegmentResponse:
2367
+ # pylint: disable=line-too-long
2362
2368
  """[Update] The List Blobs operation returns a list of the blobs under the specified container.
2363
2369
 
2364
2370
  :param prefix: Filters the results to return only containers whose name begins with the
@@ -2394,7 +2400,7 @@ class ContainerOperations:
2394
2400
  :rtype: ~azure.storage.blob.models.ListBlobsFlatSegmentResponse
2395
2401
  :raises ~azure.core.exceptions.HttpResponseError:
2396
2402
  """
2397
- error_map: MutableMapping[int, Type[HttpResponseError]] = {
2403
+ error_map: MutableMapping[int, Type[HttpResponseError]] = { # pylint: disable=unsubscriptable-object
2398
2404
  401: ClientAuthenticationError,
2399
2405
  404: ResourceNotFoundError,
2400
2406
  409: ResourceExistsError,
@@ -2423,7 +2429,6 @@ class ContainerOperations:
2423
2429
  headers=_headers,
2424
2430
  params=_params,
2425
2431
  )
2426
- _request = _convert_request(_request)
2427
2432
  _request.url = self._client.format_url(_request.url)
2428
2433
 
2429
2434
  _stream = False
@@ -2447,7 +2452,7 @@ class ContainerOperations:
2447
2452
  response_headers["x-ms-version"] = self._deserialize("str", response.headers.get("x-ms-version"))
2448
2453
  response_headers["Date"] = self._deserialize("rfc-1123", response.headers.get("Date"))
2449
2454
 
2450
- deserialized = self._deserialize("ListBlobsFlatSegmentResponse", pipeline_response)
2455
+ deserialized = self._deserialize("ListBlobsFlatSegmentResponse", pipeline_response.http_response)
2451
2456
 
2452
2457
  if cls:
2453
2458
  return cls(pipeline_response, deserialized, response_headers) # type: ignore
@@ -2466,6 +2471,7 @@ class ContainerOperations:
2466
2471
  request_id_parameter: Optional[str] = None,
2467
2472
  **kwargs: Any
2468
2473
  ) -> _models.ListBlobsHierarchySegmentResponse:
2474
+ # pylint: disable=line-too-long
2469
2475
  """[Update] The List Blobs operation returns a list of the blobs under the specified container.
2470
2476
 
2471
2477
  :param delimiter: When the request includes this parameter, the operation returns a BlobPrefix
@@ -2506,7 +2512,7 @@ class ContainerOperations:
2506
2512
  :rtype: ~azure.storage.blob.models.ListBlobsHierarchySegmentResponse
2507
2513
  :raises ~azure.core.exceptions.HttpResponseError:
2508
2514
  """
2509
- error_map: MutableMapping[int, Type[HttpResponseError]] = {
2515
+ error_map: MutableMapping[int, Type[HttpResponseError]] = { # pylint: disable=unsubscriptable-object
2510
2516
  401: ClientAuthenticationError,
2511
2517
  404: ResourceNotFoundError,
2512
2518
  409: ResourceExistsError,
@@ -2536,7 +2542,6 @@ class ContainerOperations:
2536
2542
  headers=_headers,
2537
2543
  params=_params,
2538
2544
  )
2539
- _request = _convert_request(_request)
2540
2545
  _request.url = self._client.format_url(_request.url)
2541
2546
 
2542
2547
  _stream = False
@@ -2560,7 +2565,7 @@ class ContainerOperations:
2560
2565
  response_headers["x-ms-version"] = self._deserialize("str", response.headers.get("x-ms-version"))
2561
2566
  response_headers["Date"] = self._deserialize("rfc-1123", response.headers.get("Date"))
2562
2567
 
2563
- deserialized = self._deserialize("ListBlobsHierarchySegmentResponse", pipeline_response)
2568
+ deserialized = self._deserialize("ListBlobsHierarchySegmentResponse", pipeline_response.http_response)
2564
2569
 
2565
2570
  if cls:
2566
2571
  return cls(pipeline_response, deserialized, response_headers) # type: ignore
@@ -2571,6 +2576,7 @@ class ContainerOperations:
2571
2576
  def get_account_info( # pylint: disable=inconsistent-return-statements
2572
2577
  self, timeout: Optional[int] = None, request_id_parameter: Optional[str] = None, **kwargs: Any
2573
2578
  ) -> None:
2579
+ # pylint: disable=line-too-long
2574
2580
  """Returns the sku name and account kind.
2575
2581
 
2576
2582
  :param timeout: The timeout parameter is expressed in seconds. For more information, see
@@ -2586,7 +2592,7 @@ class ContainerOperations:
2586
2592
  :rtype: None
2587
2593
  :raises ~azure.core.exceptions.HttpResponseError:
2588
2594
  """
2589
- error_map: MutableMapping[int, Type[HttpResponseError]] = {
2595
+ error_map: MutableMapping[int, Type[HttpResponseError]] = { # pylint: disable=unsubscriptable-object
2590
2596
  401: ClientAuthenticationError,
2591
2597
  404: ResourceNotFoundError,
2592
2598
  409: ResourceExistsError,
@@ -2611,7 +2617,6 @@ class ContainerOperations:
2611
2617
  headers=_headers,
2612
2618
  params=_params,
2613
2619
  )
2614
- _request = _convert_request(_request)
2615
2620
  _request.url = self._client.format_url(_request.url)
2616
2621
 
2617
2622
  _stream = False