azure-storage-blob 12.23.1__py3-none-any.whl → 12.24.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 (49) hide show
  1. azure/storage/blob/_blob_client.py +28 -7
  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 +2 -2
  5. azure/storage/blob/_container_client_helpers.py +4 -4
  6. azure/storage/blob/_deserialize.py +2 -2
  7. azure/storage/blob/_encryption.py +2 -0
  8. azure/storage/blob/_generated/_azure_blob_storage.py +1 -1
  9. azure/storage/blob/_generated/_configuration.py +2 -2
  10. azure/storage/blob/_generated/_serialization.py +265 -150
  11. azure/storage/blob/_generated/aio/_azure_blob_storage.py +1 -1
  12. azure/storage/blob/_generated/aio/_configuration.py +2 -2
  13. azure/storage/blob/_generated/aio/operations/_append_blob_operations.py +22 -4
  14. azure/storage/blob/_generated/aio/operations/_blob_operations.py +116 -26
  15. azure/storage/blob/_generated/aio/operations/_block_blob_operations.py +40 -6
  16. azure/storage/blob/_generated/aio/operations/_container_operations.py +36 -18
  17. azure/storage/blob/_generated/aio/operations/_page_blob_operations.py +32 -9
  18. azure/storage/blob/_generated/aio/operations/_service_operations.py +16 -8
  19. azure/storage/blob/_generated/models/_azure_blob_storage_enums.py +1 -0
  20. azure/storage/blob/_generated/operations/_append_blob_operations.py +34 -8
  21. azure/storage/blob/_generated/operations/_blob_operations.py +166 -51
  22. azure/storage/blob/_generated/operations/_block_blob_operations.py +62 -12
  23. azure/storage/blob/_generated/operations/_container_operations.py +54 -36
  24. azure/storage/blob/_generated/operations/_page_blob_operations.py +49 -18
  25. azure/storage/blob/_generated/operations/_service_operations.py +24 -16
  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 +8 -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 +6 -7
  34. azure/storage/blob/_shared/policies_async.py +1 -1
  35. azure/storage/blob/_shared/uploads.py +4 -4
  36. azure/storage/blob/_shared/uploads_async.py +4 -4
  37. azure/storage/blob/_shared_access_signature.py +0 -1
  38. azure/storage/blob/_version.py +1 -1
  39. azure/storage/blob/aio/_blob_client_async.py +30 -10
  40. azure/storage/blob/aio/_blob_service_client_async.py +7 -3
  41. azure/storage/blob/aio/_container_client_async.py +4 -4
  42. azure/storage/blob/aio/_lease_async.py +1 -1
  43. azure/storage/blob/aio/_list_blobs_helper.py +1 -2
  44. azure/storage/blob/aio/_models.py +1 -2
  45. {azure_storage_blob-12.23.1.dist-info → azure_storage_blob-12.24.0b1.dist-info}/METADATA +10 -10
  46. {azure_storage_blob-12.23.1.dist-info → azure_storage_blob-12.24.0b1.dist-info}/RECORD +49 -49
  47. {azure_storage_blob-12.23.1.dist-info → azure_storage_blob-12.24.0b1.dist-info}/LICENSE +0 -0
  48. {azure_storage_blob-12.23.1.dist-info → azure_storage_blob-12.24.0b1.dist-info}/WHEEL +0 -0
  49. {azure_storage_blob-12.23.1.dist-info → azure_storage_blob-12.24.0b1.dist-info}/top_level.txt +0 -0
@@ -71,6 +71,7 @@ class ServiceOperations:
71
71
  request_id_parameter: Optional[str] = None,
72
72
  **kwargs: Any
73
73
  ) -> None:
74
+ # pylint: disable=line-too-long
74
75
  """Sets properties for a storage account's Blob service endpoint, including properties for Storage
75
76
  Analytics and CORS (Cross-Origin Resource Sharing) rules.
76
77
 
@@ -89,7 +90,7 @@ class ServiceOperations:
89
90
  :rtype: None
90
91
  :raises ~azure.core.exceptions.HttpResponseError:
91
92
  """
92
- error_map: MutableMapping[int, Type[HttpResponseError]] = {
93
+ error_map: MutableMapping[int, Type[HttpResponseError]] = { # pylint: disable=unsubscriptable-object
93
94
  401: ClientAuthenticationError,
94
95
  404: ResourceNotFoundError,
95
96
  409: ResourceExistsError,
@@ -147,6 +148,7 @@ class ServiceOperations:
147
148
  async def get_properties(
148
149
  self, timeout: Optional[int] = None, request_id_parameter: Optional[str] = None, **kwargs: Any
149
150
  ) -> _models.StorageServiceProperties:
151
+ # pylint: disable=line-too-long
150
152
  """gets the properties of a storage account's Blob service, including properties for Storage
151
153
  Analytics and CORS (Cross-Origin Resource Sharing) rules.
152
154
 
@@ -163,7 +165,7 @@ class ServiceOperations:
163
165
  :rtype: ~azure.storage.blob.models.StorageServiceProperties
164
166
  :raises ~azure.core.exceptions.HttpResponseError:
165
167
  """
166
- error_map: MutableMapping[int, Type[HttpResponseError]] = {
168
+ error_map: MutableMapping[int, Type[HttpResponseError]] = { # pylint: disable=unsubscriptable-object
167
169
  401: ClientAuthenticationError,
168
170
  404: ResourceNotFoundError,
169
171
  409: ResourceExistsError,
@@ -220,6 +222,7 @@ class ServiceOperations:
220
222
  async def get_statistics(
221
223
  self, timeout: Optional[int] = None, request_id_parameter: Optional[str] = None, **kwargs: Any
222
224
  ) -> _models.StorageServiceStats:
225
+ # pylint: disable=line-too-long
223
226
  """Retrieves statistics related to replication for the Blob service. It is only available on the
224
227
  secondary location endpoint when read-access geo-redundant replication is enabled for the
225
228
  storage account.
@@ -237,7 +240,7 @@ class ServiceOperations:
237
240
  :rtype: ~azure.storage.blob.models.StorageServiceStats
238
241
  :raises ~azure.core.exceptions.HttpResponseError:
239
242
  """
240
- error_map: MutableMapping[int, Type[HttpResponseError]] = {
243
+ error_map: MutableMapping[int, Type[HttpResponseError]] = { # pylint: disable=unsubscriptable-object
241
244
  401: ClientAuthenticationError,
242
245
  404: ResourceNotFoundError,
243
246
  409: ResourceExistsError,
@@ -302,6 +305,7 @@ class ServiceOperations:
302
305
  request_id_parameter: Optional[str] = None,
303
306
  **kwargs: Any
304
307
  ) -> _models.ListContainersSegmentResponse:
308
+ # pylint: disable=line-too-long
305
309
  """The List Containers Segment operation returns a list of the containers under the specified
306
310
  account.
307
311
 
@@ -338,7 +342,7 @@ class ServiceOperations:
338
342
  :rtype: ~azure.storage.blob.models.ListContainersSegmentResponse
339
343
  :raises ~azure.core.exceptions.HttpResponseError:
340
344
  """
341
- error_map: MutableMapping[int, Type[HttpResponseError]] = {
345
+ error_map: MutableMapping[int, Type[HttpResponseError]] = { # pylint: disable=unsubscriptable-object
342
346
  401: ClientAuthenticationError,
343
347
  404: ResourceNotFoundError,
344
348
  409: ResourceExistsError,
@@ -401,6 +405,7 @@ class ServiceOperations:
401
405
  request_id_parameter: Optional[str] = None,
402
406
  **kwargs: Any
403
407
  ) -> _models.UserDelegationKey:
408
+ # pylint: disable=line-too-long
404
409
  """Retrieves a user delegation key for the Blob service. This is only a valid operation when using
405
410
  bearer token authentication.
406
411
 
@@ -419,7 +424,7 @@ class ServiceOperations:
419
424
  :rtype: ~azure.storage.blob.models.UserDelegationKey
420
425
  :raises ~azure.core.exceptions.HttpResponseError:
421
426
  """
422
- error_map: MutableMapping[int, Type[HttpResponseError]] = {
427
+ error_map: MutableMapping[int, Type[HttpResponseError]] = { # pylint: disable=unsubscriptable-object
423
428
  401: ClientAuthenticationError,
424
429
  404: ResourceNotFoundError,
425
430
  409: ResourceExistsError,
@@ -482,6 +487,7 @@ class ServiceOperations:
482
487
  async def get_account_info( # pylint: disable=inconsistent-return-statements
483
488
  self, timeout: Optional[int] = None, request_id_parameter: Optional[str] = None, **kwargs: Any
484
489
  ) -> None:
490
+ # pylint: disable=line-too-long
485
491
  """Returns the sku name and account kind.
486
492
 
487
493
  :param timeout: The timeout parameter is expressed in seconds. For more information, see
@@ -497,7 +503,7 @@ class ServiceOperations:
497
503
  :rtype: None
498
504
  :raises ~azure.core.exceptions.HttpResponseError:
499
505
  """
500
- error_map: MutableMapping[int, Type[HttpResponseError]] = {
506
+ error_map: MutableMapping[int, Type[HttpResponseError]] = { # pylint: disable=unsubscriptable-object
501
507
  401: ClientAuthenticationError,
502
508
  404: ResourceNotFoundError,
503
509
  409: ResourceExistsError,
@@ -559,6 +565,7 @@ class ServiceOperations:
559
565
  request_id_parameter: Optional[str] = None,
560
566
  **kwargs: Any
561
567
  ) -> AsyncIterator[bytes]:
568
+ # pylint: disable=line-too-long
562
569
  """The Batch operation allows multiple API calls to be embedded into a single HTTP request.
563
570
 
564
571
  :param content_length: The length of the request. Required.
@@ -578,7 +585,7 @@ class ServiceOperations:
578
585
  :rtype: AsyncIterator[bytes]
579
586
  :raises ~azure.core.exceptions.HttpResponseError:
580
587
  """
581
- error_map: MutableMapping[int, Type[HttpResponseError]] = {
588
+ error_map: MutableMapping[int, Type[HttpResponseError]] = { # pylint: disable=unsubscriptable-object
582
589
  401: ClientAuthenticationError,
583
590
  404: ResourceNotFoundError,
584
591
  409: ResourceExistsError,
@@ -651,6 +658,7 @@ class ServiceOperations:
651
658
  include: Optional[List[Union[str, _models.FilterBlobsIncludeItem]]] = None,
652
659
  **kwargs: Any
653
660
  ) -> _models.FilterBlobSegment:
661
+ # pylint: disable=line-too-long
654
662
  """The Filter Blobs operation enables callers to list blobs across all containers whose tags match
655
663
  a given search expression. Filter blobs searches across all containers within a storage
656
664
  account but can be scoped within the expression to a single container.
@@ -688,7 +696,7 @@ class ServiceOperations:
688
696
  :rtype: ~azure.storage.blob.models.FilterBlobSegment
689
697
  :raises ~azure.core.exceptions.HttpResponseError:
690
698
  """
691
- error_map: MutableMapping[int, Type[HttpResponseError]] = {
699
+ error_map: MutableMapping[int, Type[HttpResponseError]] = { # pylint: disable=unsubscriptable-object
692
700
  401: ClientAuthenticationError,
693
701
  404: ResourceNotFoundError,
694
702
  409: ResourceExistsError,
@@ -389,3 +389,4 @@ class StorageErrorCode(str, Enum, metaclass=CaseInsensitiveEnumMeta):
389
389
  AUTHORIZATION_PERMISSION_MISMATCH = "AuthorizationPermissionMismatch"
390
390
  AUTHORIZATION_SERVICE_MISMATCH = "AuthorizationServiceMismatch"
391
391
  AUTHORIZATION_RESOURCE_TYPE_MISMATCH = "AuthorizationResourceTypeMismatch"
392
+ BLOB_ACCESS_TIER_NOT_SUPPORTED_FOR_ACCOUNT_TYPE = "BlobAccessTierNotSupportedForAccountType"
@@ -70,7 +70,7 @@ def build_create_request(
70
70
  _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
71
71
 
72
72
  blob_type: Literal["AppendBlob"] = kwargs.pop("blob_type", _headers.pop("x-ms-blob-type", "AppendBlob"))
73
- 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"))
74
74
  accept = _headers.pop("Accept", "application/xml")
75
75
 
76
76
  # Construct URL
@@ -171,6 +171,8 @@ def build_append_block_request(
171
171
  if_none_match: Optional[str] = None,
172
172
  if_tags: Optional[str] = None,
173
173
  request_id_parameter: Optional[str] = None,
174
+ structured_body_type: Optional[str] = None,
175
+ structured_content_length: Optional[int] = None,
174
176
  **kwargs: Any
175
177
  ) -> HttpRequest:
176
178
  _headers = case_insensitive_dict(kwargs.pop("headers", {}) or {})
@@ -178,7 +180,7 @@ def build_append_block_request(
178
180
 
179
181
  comp: Literal["appendblock"] = kwargs.pop("comp", _params.pop("comp", "appendblock"))
180
182
  content_type: Optional[str] = kwargs.pop("content_type", _headers.pop("Content-Type", None))
181
- 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"))
182
184
  accept = _headers.pop("Accept", "application/xml")
183
185
 
184
186
  # Construct URL
@@ -233,6 +235,12 @@ def build_append_block_request(
233
235
  _headers["x-ms-version"] = _SERIALIZER.header("version", version, "str")
234
236
  if request_id_parameter is not None:
235
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
+ )
236
244
  if content_type is not None:
237
245
  _headers["Content-Type"] = _SERIALIZER.header("content_type", content_type, "str")
238
246
  _headers["Accept"] = _SERIALIZER.header("accept", accept, "str")
@@ -274,7 +282,7 @@ def build_append_block_from_url_request(
274
282
  _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
275
283
 
276
284
  comp: Literal["appendblock"] = kwargs.pop("comp", _params.pop("comp", "appendblock"))
277
- 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"))
278
286
  accept = _headers.pop("Accept", "application/xml")
279
287
 
280
288
  # Construct URL
@@ -372,7 +380,7 @@ def build_seal_request(
372
380
  _params = case_insensitive_dict(kwargs.pop("params", {}) or {})
373
381
 
374
382
  comp: Literal["seal"] = kwargs.pop("comp", _params.pop("comp", "seal"))
375
- 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"))
376
384
  accept = _headers.pop("Accept", "application/xml")
377
385
 
378
386
  # Construct URL
@@ -446,6 +454,7 @@ class AppendBlobOperations:
446
454
  modified_access_conditions: Optional[_models.ModifiedAccessConditions] = None,
447
455
  **kwargs: Any
448
456
  ) -> None:
457
+ # pylint: disable=line-too-long
449
458
  """The Create Append Blob operation creates a new append blob.
450
459
 
451
460
  :param content_length: The length of the request. Required.
@@ -492,7 +501,7 @@ class AppendBlobOperations:
492
501
  :rtype: None
493
502
  :raises ~azure.core.exceptions.HttpResponseError:
494
503
  """
495
- error_map: MutableMapping[int, Type[HttpResponseError]] = {
504
+ error_map: MutableMapping[int, Type[HttpResponseError]] = { # pylint: disable=unsubscriptable-object
496
505
  401: ClientAuthenticationError,
497
506
  404: ResourceNotFoundError,
498
507
  409: ResourceExistsError,
@@ -622,6 +631,8 @@ class AppendBlobOperations:
622
631
  transactional_content_md5: Optional[bytes] = None,
623
632
  transactional_content_crc64: Optional[bytes] = None,
624
633
  request_id_parameter: Optional[str] = None,
634
+ structured_body_type: Optional[str] = None,
635
+ structured_content_length: Optional[int] = None,
625
636
  lease_access_conditions: Optional[_models.LeaseAccessConditions] = None,
626
637
  append_position_access_conditions: Optional[_models.AppendPositionAccessConditions] = None,
627
638
  cpk_info: Optional[_models.CpkInfo] = None,
@@ -629,6 +640,7 @@ class AppendBlobOperations:
629
640
  modified_access_conditions: Optional[_models.ModifiedAccessConditions] = None,
630
641
  **kwargs: Any
631
642
  ) -> None:
643
+ # pylint: disable=line-too-long
632
644
  """The Append Block operation commits a new block of data to the end of an existing append blob.
633
645
  The Append Block operation is permitted only if the blob was created with x-ms-blob-type set to
634
646
  AppendBlob. Append Block is supported only on version 2015-02-21 version or later.
@@ -652,6 +664,13 @@ class AppendBlobOperations:
652
664
  limit that is recorded in the analytics logs when storage analytics logging is enabled. Default
653
665
  value is None.
654
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
655
674
  :param lease_access_conditions: Parameter group. Default value is None.
656
675
  :type lease_access_conditions: ~azure.storage.blob.models.LeaseAccessConditions
657
676
  :param append_position_access_conditions: Parameter group. Default value is None.
@@ -667,7 +686,7 @@ class AppendBlobOperations:
667
686
  :rtype: None
668
687
  :raises ~azure.core.exceptions.HttpResponseError:
669
688
  """
670
- error_map: MutableMapping[int, Type[HttpResponseError]] = {
689
+ error_map: MutableMapping[int, Type[HttpResponseError]] = { # pylint: disable=unsubscriptable-object
671
690
  401: ClientAuthenticationError,
672
691
  404: ResourceNotFoundError,
673
692
  409: ResourceExistsError,
@@ -732,6 +751,8 @@ class AppendBlobOperations:
732
751
  if_none_match=_if_none_match,
733
752
  if_tags=_if_tags,
734
753
  request_id_parameter=request_id_parameter,
754
+ structured_body_type=structured_body_type,
755
+ structured_content_length=structured_content_length,
735
756
  comp=comp,
736
757
  content_type=content_type,
737
758
  version=self._config.version,
@@ -781,6 +802,9 @@ class AppendBlobOperations:
781
802
  response_headers["x-ms-encryption-scope"] = self._deserialize(
782
803
  "str", response.headers.get("x-ms-encryption-scope")
783
804
  )
805
+ response_headers["x-ms-structured-body"] = self._deserialize(
806
+ "str", response.headers.get("x-ms-structured-body")
807
+ )
784
808
 
785
809
  if cls:
786
810
  return cls(pipeline_response, None, response_headers) # type: ignore
@@ -805,6 +829,7 @@ class AppendBlobOperations:
805
829
  source_modified_access_conditions: Optional[_models.SourceModifiedAccessConditions] = None,
806
830
  **kwargs: Any
807
831
  ) -> None:
832
+ # pylint: disable=line-too-long
808
833
  """The Append Block operation commits a new block of data to the end of an existing append blob
809
834
  where the contents are read from a source url. The Append Block operation is permitted only if
810
835
  the blob was created with x-ms-blob-type set to AppendBlob. Append Block is supported only on
@@ -855,7 +880,7 @@ class AppendBlobOperations:
855
880
  :rtype: None
856
881
  :raises ~azure.core.exceptions.HttpResponseError:
857
882
  """
858
- error_map: MutableMapping[int, Type[HttpResponseError]] = {
883
+ error_map: MutableMapping[int, Type[HttpResponseError]] = { # pylint: disable=unsubscriptable-object
859
884
  401: ClientAuthenticationError,
860
885
  404: ResourceNotFoundError,
861
886
  409: ResourceExistsError,
@@ -993,6 +1018,7 @@ class AppendBlobOperations:
993
1018
  append_position_access_conditions: Optional[_models.AppendPositionAccessConditions] = None,
994
1019
  **kwargs: Any
995
1020
  ) -> None:
1021
+ # pylint: disable=line-too-long
996
1022
  """The Seal operation seals the Append Blob to make it read-only. Seal is supported only on
997
1023
  version 2019-12-12 version or later.
998
1024
 
@@ -1016,7 +1042,7 @@ class AppendBlobOperations:
1016
1042
  :rtype: None
1017
1043
  :raises ~azure.core.exceptions.HttpResponseError:
1018
1044
  """
1019
- error_map: MutableMapping[int, Type[HttpResponseError]] = {
1045
+ error_map: MutableMapping[int, Type[HttpResponseError]] = { # pylint: disable=unsubscriptable-object
1020
1046
  401: ClientAuthenticationError,
1021
1047
  404: ResourceNotFoundError,
1022
1048
  409: ResourceExistsError,