azure-storage-blob 12.25.1__tar.gz → 12.27.0b1__tar.gz

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 (203) hide show
  1. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/CHANGELOG.md +19 -0
  2. {azure_storage_blob-12.25.1/azure_storage_blob.egg-info → azure_storage_blob-12.27.0b1}/PKG-INFO +4 -5
  3. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/README.md +1 -1
  4. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/__init__.py +3 -2
  5. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_blob_client.py +94 -41
  6. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_blob_client_helpers.py +19 -4
  7. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_blob_service_client.py +16 -13
  8. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_container_client.py +25 -22
  9. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_deserialize.py +1 -1
  10. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_download.py +7 -7
  11. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_encryption.py +177 -184
  12. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_generated/_azure_blob_storage.py +3 -2
  13. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_generated/_configuration.py +2 -2
  14. azure_storage_blob-12.27.0b1/azure/storage/blob/_generated/_utils/__init__.py +6 -0
  15. azure_storage_blob-12.25.1/azure/storage/blob/_generated/_serialization.py → azure_storage_blob-12.27.0b1/azure/storage/blob/_generated/_utils/serialization.py +7 -25
  16. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_generated/aio/_azure_blob_storage.py +3 -2
  17. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_generated/aio/_configuration.py +2 -2
  18. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_generated/aio/operations/_append_blob_operations.py +11 -14
  19. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_generated/aio/operations/_blob_operations.py +40 -64
  20. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_generated/aio/operations/_block_blob_operations.py +18 -20
  21. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_generated/aio/operations/_container_operations.py +21 -43
  22. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_generated/aio/operations/_page_blob_operations.py +18 -27
  23. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_generated/aio/operations/_service_operations.py +11 -22
  24. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_generated/models/__init__.py +2 -0
  25. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_generated/models/_azure_blob_storage_enums.py +6 -0
  26. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_generated/models/_models_py3.py +30 -9
  27. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_generated/operations/_append_blob_operations.py +19 -20
  28. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_generated/operations/_blob_operations.py +68 -89
  29. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_generated/operations/_block_blob_operations.py +31 -27
  30. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_generated/operations/_container_operations.py +40 -62
  31. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_generated/operations/_page_blob_operations.py +31 -37
  32. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_generated/operations/_service_operations.py +20 -32
  33. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_lease.py +1 -0
  34. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_list_blobs_helper.py +1 -1
  35. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_quick_query_helper.py +20 -24
  36. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_serialize.py +2 -0
  37. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_shared/__init__.py +7 -7
  38. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_shared/authentication.py +49 -32
  39. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_shared/avro/avro_io.py +44 -42
  40. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_shared/avro/avro_io_async.py +42 -41
  41. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_shared/avro/datafile.py +24 -21
  42. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_shared/avro/datafile_async.py +15 -15
  43. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_shared/avro/schema.py +196 -217
  44. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_shared/base_client.py +82 -59
  45. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_shared/base_client_async.py +58 -51
  46. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_shared/constants.py +1 -1
  47. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_shared/models.py +94 -92
  48. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_shared/parser.py +3 -3
  49. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_shared/policies.py +186 -147
  50. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_shared/policies_async.py +53 -65
  51. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_shared/request_handlers.py +50 -45
  52. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_shared/response_handlers.py +54 -45
  53. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_shared/shared_access_signature.py +67 -71
  54. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_shared/uploads.py +56 -49
  55. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_shared/uploads_async.py +70 -58
  56. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_shared_access_signature.py +3 -1
  57. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_version.py +1 -1
  58. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/aio/__init__.py +3 -2
  59. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/aio/_blob_client_async.py +241 -44
  60. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/aio/_blob_service_client_async.py +13 -11
  61. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/aio/_container_client_async.py +28 -25
  62. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/aio/_download_async.py +7 -7
  63. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/aio/_lease_async.py +1 -0
  64. azure_storage_blob-12.27.0b1/azure/storage/blob/aio/_quick_query_helper_async.py +194 -0
  65. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1/azure_storage_blob.egg-info}/PKG-INFO +4 -5
  66. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure_storage_blob.egg-info/SOURCES.txt +4 -1
  67. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/samples/blob_samples_authentication.py +9 -9
  68. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/samples/blob_samples_authentication_async.py +9 -9
  69. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/samples/blob_samples_batch_delete_blobs.py +5 -4
  70. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/samples/blob_samples_client_side_encryption.py +4 -4
  71. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/samples/blob_samples_client_side_encryption_keyvault.py +11 -21
  72. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/samples/blob_samples_common.py +9 -8
  73. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/samples/blob_samples_common_async.py +9 -9
  74. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/samples/blob_samples_container_access_policy.py +5 -6
  75. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/samples/blob_samples_container_access_policy_async.py +4 -5
  76. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/samples/blob_samples_containers.py +11 -10
  77. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/samples/blob_samples_containers_async.py +11 -10
  78. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/samples/blob_samples_copy_blob.py +4 -3
  79. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/samples/blob_samples_copy_blob_async.py +5 -4
  80. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/samples/blob_samples_directory_interface.py +11 -10
  81. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/samples/blob_samples_directory_interface_mimetype.py +10 -9
  82. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/samples/blob_samples_enumerate_blobs.py +5 -5
  83. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/samples/blob_samples_enumerate_blobs_async.py +5 -5
  84. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/samples/blob_samples_hello_world.py +15 -15
  85. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/samples/blob_samples_hello_world_async.py +15 -15
  86. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/samples/blob_samples_network_activity_logging.py +4 -4
  87. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/samples/blob_samples_proxy_configuration.py +1 -1
  88. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/samples/blob_samples_query.py +6 -4
  89. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/samples/blob_samples_service.py +8 -8
  90. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/samples/blob_samples_service_async.py +10 -10
  91. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/samples/blob_samples_walk_blob_hierarchy.py +4 -4
  92. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/samples/blob_samples_walk_blob_hierarchy_async.py +4 -4
  93. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/setup.py +2 -3
  94. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_append_blob.py +61 -1
  95. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_append_blob_async.py +64 -1
  96. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_blob_api_version.py +24 -1
  97. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_blob_api_version_async.py +24 -1
  98. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_block_blob.py +135 -2
  99. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_block_blob_async.py +142 -5
  100. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_common_blob.py +67 -2
  101. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_common_blob_async.py +71 -1
  102. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_container.py +30 -1
  103. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_container_async.py +30 -1
  104. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_helpers.py +44 -1
  105. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_helpers_async.py +45 -1
  106. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_page_blob.py +36 -33
  107. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_page_blob_async.py +35 -33
  108. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_quick_query.py +11 -3
  109. azure_storage_blob-12.27.0b1/tests/test_quick_query_async.py +1174 -0
  110. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_retry.py +59 -0
  111. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_retry_async.py +59 -0
  112. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/LICENSE +0 -0
  113. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/MANIFEST.in +0 -0
  114. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/__init__.py +0 -0
  115. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/__init__.py +0 -0
  116. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_blob_service_client_helpers.py +0 -0
  117. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_container_client_helpers.py +0 -0
  118. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_generated/__init__.py +0 -0
  119. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_generated/_patch.py +0 -0
  120. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_generated/aio/__init__.py +0 -0
  121. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_generated/aio/_patch.py +0 -0
  122. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_generated/aio/operations/__init__.py +0 -0
  123. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_generated/aio/operations/_patch.py +0 -0
  124. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_generated/models/_patch.py +0 -0
  125. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_generated/operations/__init__.py +0 -0
  126. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_generated/operations/_patch.py +0 -0
  127. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_generated/py.typed +0 -0
  128. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_models.py +0 -0
  129. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_shared/avro/__init__.py +0 -0
  130. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/_upload_helpers.py +0 -0
  131. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/aio/_encryption_async.py +0 -0
  132. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/aio/_list_blobs_helper.py +0 -0
  133. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/aio/_models.py +0 -0
  134. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/aio/_upload_helpers.py +0 -0
  135. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure/storage/blob/py.typed +0 -0
  136. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure_storage_blob.egg-info/dependency_links.txt +0 -0
  137. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure_storage_blob.egg-info/not-zip-safe +0 -0
  138. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure_storage_blob.egg-info/requires.txt +0 -0
  139. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/azure_storage_blob.egg-info/top_level.txt +0 -0
  140. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/migration_guide.md +0 -0
  141. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/pyproject.toml +0 -0
  142. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/samples/README.md +0 -0
  143. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/setup.cfg +0 -0
  144. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/avro/__init__.py +0 -0
  145. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/avro/test_avro.py +0 -0
  146. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/avro/test_avro_async.py +0 -0
  147. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/conftest.py +0 -0
  148. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/encryption_test_helper.py +0 -0
  149. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/fake_credentials.py +0 -0
  150. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/perfstress_tests/T1_legacy_tests/__init__.py +0 -0
  151. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/perfstress_tests/T1_legacy_tests/_test_base_legacy.py +0 -0
  152. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/perfstress_tests/T1_legacy_tests/download.py +0 -0
  153. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/perfstress_tests/T1_legacy_tests/list_blobs.py +0 -0
  154. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/perfstress_tests/T1_legacy_tests/upload.py +0 -0
  155. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/perfstress_tests/T1_legacy_tests/upload_block.py +0 -0
  156. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/perfstress_tests/T1_legacy_tests/upload_from_file.py +0 -0
  157. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/perfstress_tests/__init__.py +0 -0
  158. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/perfstress_tests/_test_base.py +0 -0
  159. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/perfstress_tests/download.py +0 -0
  160. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/perfstress_tests/key_wrapper.py +0 -0
  161. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/perfstress_tests/list_blobs.py +0 -0
  162. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/perfstress_tests/upload.py +0 -0
  163. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/perfstress_tests/upload_block.py +0 -0
  164. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/perfstress_tests/upload_from_file.py +0 -0
  165. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/settings/__init__.py +0 -0
  166. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/settings/settings_fake.py +0 -0
  167. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/settings/testcase.py +0 -0
  168. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_blob_access_conditions.py +0 -0
  169. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_blob_access_conditions_async.py +0 -0
  170. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_blob_client.py +0 -0
  171. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_blob_client_async.py +0 -0
  172. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_blob_encryption.py +0 -0
  173. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_blob_encryption_async.py +0 -0
  174. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_blob_encryption_v2.py +0 -0
  175. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_blob_encryption_v2_async.py +0 -0
  176. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_blob_retry.py +0 -0
  177. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_blob_retry_async.py +0 -0
  178. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_blob_service_properties.py +0 -0
  179. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_blob_service_properties_async.py +0 -0
  180. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_blob_service_stats.py +0 -0
  181. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_blob_service_stats_async.py +0 -0
  182. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_blob_storage_account.py +0 -0
  183. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_blob_storage_account_async.py +0 -0
  184. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_blob_tags.py +0 -0
  185. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_blob_tags_async.py +0 -0
  186. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_block_blob_sync_copy.py +0 -0
  187. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_block_blob_sync_copy_async.py +0 -0
  188. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_cpk.py +0 -0
  189. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_cpk_async.py +0 -0
  190. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_cpk_n.py +0 -0
  191. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_cpk_n_async.py +0 -0
  192. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_dictmixin.py +0 -0
  193. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_get_blob.py +0 -0
  194. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_get_blob_async.py +0 -0
  195. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_large_block_blob.py +0 -0
  196. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_large_block_blob_async.py +0 -0
  197. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_largest_block_blob.py +0 -0
  198. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_largest_block_blob_async.py +0 -0
  199. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_logging.py +0 -0
  200. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_logging_async.py +0 -0
  201. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_ors.py +0 -0
  202. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_ors_async.py +0 -0
  203. {azure_storage_blob-12.25.1 → azure_storage_blob-12.27.0b1}/tests/test_upload_chunking.py +0 -0
@@ -1,5 +1,24 @@
1
1
  # Release History
2
2
 
3
+ ## 12.27.0b1 (2025-06-12)
4
+
5
+ This version and all future versions will require Python 3.9+. Python 3.8 is no longer supported.
6
+
7
+ ### Features Added
8
+ - Added support for service version 2025-11-05.
9
+ - Added support for better error handling for copy operations.
10
+
11
+ ## 12.26.0b1 (2025-05-06)
12
+
13
+ ### Features Added
14
+ - Added support for service version 2025-07-05.
15
+ - Added support for OAuth authentication in `ContainerClient`'s `get_container_access_policy`
16
+ and `set_container_access_policy` APIs.
17
+ - Added support for the keyword `source_token_intent` when copying from file share to blob and
18
+ authenticated via `TokenCredential` for the following `BlobClient` APIs: `upload_blob_from_url`,
19
+ `start_copy_from_url`, `stage_block_from_url`, `upload_pages_from_url`, and `append_block_from_url`.
20
+ - Added support for `query_blob` in the asynchronous `BlobClient`.
21
+
3
22
  ## 12.25.1 (2025-03-27)
4
23
 
5
24
  ### Other Changes
@@ -1,23 +1,22 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: azure-storage-blob
3
- Version: 12.25.1
3
+ Version: 12.27.0b1
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 :: 5 - Production/Stable
10
+ Classifier: Development Status :: 4 - Beta
11
11
  Classifier: Programming Language :: Python
12
12
  Classifier: Programming Language :: Python :: 3 :: Only
13
13
  Classifier: Programming Language :: Python :: 3
14
- Classifier: Programming Language :: Python :: 3.8
15
14
  Classifier: Programming Language :: Python :: 3.9
16
15
  Classifier: Programming Language :: Python :: 3.10
17
16
  Classifier: Programming Language :: Python :: 3.11
18
17
  Classifier: Programming Language :: Python :: 3.12
19
18
  Classifier: License :: OSI Approved :: MIT License
20
- Requires-Python: >=3.8
19
+ Requires-Python: >=3.9
21
20
  Description-Content-Type: text/markdown
22
21
  License-File: LICENSE
23
22
  Requires-Dist: azure-core>=1.30.0
@@ -49,7 +48,7 @@ Blob storage is ideal for:
49
48
  ## Getting started
50
49
 
51
50
  ### Prerequisites
52
- * Python 3.8 or later is required to use this package. For more details, please read our page on [Azure SDK for Python version support policy](https://github.com/Azure/azure-sdk-for-python/wiki/Azure-SDKs-Python-version-support-policy).
51
+ * Python 3.9 or later is required to use this package. For more details, please read our page on [Azure SDK for Python version support policy](https://github.com/Azure/azure-sdk-for-python/wiki/Azure-SDKs-Python-version-support-policy).
53
52
  * You must have an [Azure subscription](https://azure.microsoft.com/free/) and an
54
53
  [Azure storage account](https://learn.microsoft.com/azure/storage/common/storage-account-overview) to use this package.
55
54
 
@@ -20,7 +20,7 @@ Blob storage is ideal for:
20
20
  ## Getting started
21
21
 
22
22
  ### Prerequisites
23
- * Python 3.8 or later is required to use this package. For more details, please read our page on [Azure SDK for Python version support policy](https://github.com/Azure/azure-sdk-for-python/wiki/Azure-SDKs-Python-version-support-policy).
23
+ * Python 3.9 or later is required to use this package. For more details, please read our page on [Azure SDK for Python version support policy](https://github.com/Azure/azure-sdk-for-python/wiki/Azure-SDKs-Python-version-support-policy).
24
24
  * You must have an [Azure subscription](https://azure.microsoft.com/free/) and an
25
25
  [Azure storage account](https://learn.microsoft.com/azure/storage/common/storage-account-overview) to use this package.
26
26
 
@@ -122,7 +122,7 @@ def upload_blob_to_url(
122
122
  entire blocks, and doing so defeats the purpose of the memory-efficient algorithm.
123
123
  :keyword str encoding:
124
124
  Encoding to use if text is supplied as input. Defaults to UTF-8.
125
- :returns: Blob-updated property dict (Etag and last modified)
125
+ :return: Blob-updated property dict (Etag and last modified)
126
126
  :rtype: dict(str, Any)
127
127
  """
128
128
  with BlobClient.from_blob_url(blob_url, credential=credential) as client:
@@ -153,7 +153,7 @@ def download_blob_from_url(
153
153
  :param output:
154
154
  Where the data should be downloaded to. This could be either a file path to write to,
155
155
  or an open IO handle to write to.
156
- :type output: str or writable stream.
156
+ :type output: str or IO.
157
157
  :param credential:
158
158
  The credentials with which to authenticate. This is optional if the
159
159
  blob URL already has a SAS token or the blob is public. The value can be a SAS token string,
@@ -190,6 +190,7 @@ def download_blob_from_url(
190
190
  blob. Also note that if enabled, the memory-efficient upload algorithm
191
191
  will not be used, because computing the MD5 hash requires buffering
192
192
  entire blocks, and doing so defeats the purpose of the memory-efficient algorithm.
193
+ :return: None
193
194
  :rtype: None
194
195
  """
195
196
  overwrite = kwargs.pop('overwrite', False)
@@ -236,7 +236,7 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
236
236
  :keyword str audience: The audience to use when requesting tokens for Azure Active Directory
237
237
  authentication. Only has an effect when credential is of type TokenCredential. The value could be
238
238
  https://storage.azure.com/ (default) or https://<account>.blob.core.windows.net.
239
- :returns: A Blob client.
239
+ :return: A Blob client.
240
240
  :rtype: ~azure.storage.blob.BlobClient
241
241
  """
242
242
  account_url, container_name, blob_name, path_snapshot = _from_blob_url(blob_url=blob_url, snapshot=snapshot)
@@ -284,7 +284,7 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
284
284
  :keyword str audience: The audience to use when requesting tokens for Azure Active Directory
285
285
  authentication. Only has an effect when credential is of type TokenCredential. The value could be
286
286
  https://storage.azure.com/ (default) or https://<account>.blob.core.windows.net.
287
- :returns: A Blob client.
287
+ :return: A Blob client.
288
288
  :rtype: ~azure.storage.blob.BlobClient
289
289
 
290
290
  .. admonition:: Example:
@@ -311,7 +311,7 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
311
311
  The information can also be retrieved if the user has a SAS to a container or blob.
312
312
  The keys in the returned dictionary include 'sku_name' and 'account_kind'.
313
313
 
314
- :returns: A dict of account information (SKU and account type).
314
+ :return: A dict of account information (SKU and account type).
315
315
  :rtype: dict(str, str)
316
316
  """
317
317
  try:
@@ -422,7 +422,16 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
422
422
  :keyword str source_authorization:
423
423
  Authenticate as a service principal using a client secret to access a source blob. Ensure "bearer " is
424
424
  the prefix of the source_authorization string.
425
- :returns: Blob-updated property Dict (Etag and last modified)
425
+ :keyword source_token_intent:
426
+ Required when source is Azure Storage Files and using `TokenCredential` for authentication.
427
+ This is ignored for other forms of authentication.
428
+ Specifies the intent for all requests when using `TokenCredential` authentication. Possible values are:
429
+
430
+ backup - Specifies requests are intended for backup/admin type operations, meaning that all file/directory
431
+ ACLs are bypassed and full permissions are granted. User must also have required RBAC permission.
432
+
433
+ :paramtype source_token_intent: Literal['backup']
434
+ :return: Blob-updated property Dict (Etag and last modified)
426
435
  :rtype: Dict[str, Any]
427
436
  """
428
437
  if kwargs.get('cpk') and self.scheme.lower() != 'https':
@@ -430,7 +439,8 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
430
439
  options = _upload_blob_from_url_options(
431
440
  source_url=source_url,
432
441
  metadata=metadata,
433
- **kwargs)
442
+ **kwargs
443
+ )
434
444
  try:
435
445
  return cast(Dict[str, Any], self._client.block_blob.put_blob_from_url(**options))
436
446
  except HttpResponseError as error:
@@ -570,7 +580,7 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
570
580
  see `here <https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/storage/azure-storage-blob
571
581
  #other-client--per-operation-configuration>`__. This method may make multiple calls to the service and
572
582
  the timeout will apply to each call individually.
573
- :returns: Blob-updated property Dict (Etag and last modified)
583
+ :return: Blob-updated property Dict (Etag and last modified)
574
584
  :rtype: Dict[str, Any]
575
585
 
576
586
  .. admonition:: Example:
@@ -715,7 +725,7 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
715
725
  the timeout will apply to each call individually.
716
726
  multiple calls to the Azure service and the timeout will apply to
717
727
  each call individually.
718
- :returns: A streaming object (StorageStreamDownloader)
728
+ :return: A streaming object (StorageStreamDownloader)
719
729
  :rtype: ~azure.storage.blob.StorageStreamDownloader
720
730
 
721
731
  .. admonition:: Example:
@@ -819,7 +829,7 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
819
829
  This value is not tracked or validated on the client. To configure client-side network timesouts
820
830
  see `here <https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/storage/azure-storage-blob
821
831
  #other-client--per-operation-configuration>`__.
822
- :returns: A streaming object (BlobQueryReader)
832
+ :return: A streaming object (BlobQueryReader)
823
833
  :rtype: ~azure.storage.blob.BlobQueryReader
824
834
 
825
835
  .. admonition:: Example:
@@ -864,7 +874,7 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
864
874
  and retains the blob for a specified number of days.
865
875
  After the specified number of days, the blob's data is removed from the service during garbage collection.
866
876
  Soft deleted blob is accessible through :func:`~ContainerClient.list_blobs()` specifying `include=['deleted']`
867
- option. Soft-deleted blob can be restored using :func:`undelete` operation.
877
+ option. Soft-deleted blob can be restored using :func:`~BlobClient.undelete_blob()` operation.
868
878
 
869
879
  :param Optional[str] delete_snapshots:
870
880
  Required if the blob has associated snapshots. Values include:
@@ -912,6 +922,7 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
912
922
  This value is not tracked or validated on the client. To configure client-side network timesouts
913
923
  see `here <https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/storage/azure-storage-blob
914
924
  #other-client--per-operation-configuration>`__.
925
+ :return: None
915
926
  :rtype: None
916
927
 
917
928
  .. admonition:: Example:
@@ -950,6 +961,7 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
950
961
  This value is not tracked or validated on the client. To configure client-side network timesouts
951
962
  see `here <https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/storage/azure-storage-blob
952
963
  #other-client--per-operation-configuration>`__.
964
+ :return: None
953
965
  :rtype: None
954
966
 
955
967
  .. admonition:: Example:
@@ -981,7 +993,7 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
981
993
  This value is not tracked or validated on the client. To configure client-side network timesouts
982
994
  see `here <https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/storage/azure-storage-blob
983
995
  #other-client--per-operation-configuration>`__.
984
- :returns: boolean
996
+ :return: boolean
985
997
  :rtype: bool
986
998
  """
987
999
  version_id = get_version_id(self.version_id, kwargs)
@@ -1051,7 +1063,7 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
1051
1063
  This value is not tracked or validated on the client. To configure client-side network timesouts
1052
1064
  see `here <https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/storage/azure-storage-blob
1053
1065
  #other-client--per-operation-configuration>`__.
1054
- :returns: BlobProperties
1066
+ :return: BlobProperties
1055
1067
  :rtype: ~azure.storage.blob.BlobProperties
1056
1068
 
1057
1069
  .. admonition:: Example:
@@ -1137,7 +1149,7 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
1137
1149
  This value is not tracked or validated on the client. To configure client-side network timesouts
1138
1150
  see `here <https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/storage/azure-storage-blob
1139
1151
  #other-client--per-operation-configuration>`__.
1140
- :returns: Blob-updated property dict (Etag and last modified)
1152
+ :return: Blob-updated property dict (Etag and last modified)
1141
1153
  :rtype: Dict[str, Any]
1142
1154
  """
1143
1155
  options = _set_http_headers_options(content_settings=content_settings, **kwargs)
@@ -1204,7 +1216,7 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
1204
1216
  This value is not tracked or validated on the client. To configure client-side network timesouts
1205
1217
  see `here <https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/storage/azure-storage-blob
1206
1218
  #other-client--per-operation-configuration>`__.
1207
- :returns: Blob-updated property dict (Etag and last modified)
1219
+ :return: Blob-updated property dict (Etag and last modified)
1208
1220
  :rtype: Dict[str, Union[str, datetime]]
1209
1221
  """
1210
1222
  if kwargs.get('cpk') and self.scheme.lower() != 'https':
@@ -1240,7 +1252,7 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
1240
1252
  This value is not tracked or validated on the client. To configure client-side network timesouts
1241
1253
  see `here <https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/storage/azure-storage-blob
1242
1254
  #other-client--per-operation-configuration>`__.
1243
- :returns: Key value pairs of blob tags.
1255
+ :return: Key value pairs of blob tags.
1244
1256
  :rtype: Dict[str, str]
1245
1257
  """
1246
1258
 
@@ -1266,7 +1278,7 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
1266
1278
  This value is not tracked or validated on the client. To configure client-side network timesouts
1267
1279
  see `here <https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/storage/azure-storage-blob
1268
1280
  #other-client--per-operation-configuration>`__.
1269
- :returns: Key value pairs of blob tags.
1281
+ :return: Key value pairs of blob tags.
1270
1282
  :rtype: Dict[str, str]
1271
1283
  """
1272
1284
 
@@ -1291,7 +1303,7 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
1291
1303
  This value is not tracked or validated on the client. To configure client-side network timesouts
1292
1304
  see `here <https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/storage/azure-storage-blob
1293
1305
  #other-client--per-operation-configuration>`__.
1294
- :returns: Key value pairs of blob tags.
1306
+ :return: Key value pairs of blob tags.
1295
1307
  :rtype: Dict[str, Union[str, datetime, bool]]
1296
1308
  """
1297
1309
 
@@ -1388,7 +1400,7 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
1388
1400
  This value is not tracked or validated on the client. To configure client-side network timesouts
1389
1401
  see `here <https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/storage/azure-storage-blob
1390
1402
  #other-client--per-operation-configuration>`__.
1391
- :returns: Blob-updated property dict (Etag and last modified).
1403
+ :return: Blob-updated property dict (Etag and last modified).
1392
1404
  :rtype: dict[str, Any]
1393
1405
  """
1394
1406
  if self.require_encryption or (self.key_encryption_key is not None):
@@ -1484,7 +1496,7 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
1484
1496
  This value is not tracked or validated on the client. To configure client-side network timesouts
1485
1497
  see `here <https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/storage/azure-storage-blob
1486
1498
  #other-client--per-operation-configuration>`__.
1487
- :returns: Blob-updated property dict (Etag and last modified).
1499
+ :return: Blob-updated property dict (Etag and last modified).
1488
1500
  :rtype: dict[str, Any]
1489
1501
  """
1490
1502
  if self.require_encryption or (self.key_encryption_key is not None):
@@ -1563,7 +1575,7 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
1563
1575
  This value is not tracked or validated on the client. To configure client-side network timesouts
1564
1576
  see `here <https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/storage/azure-storage-blob
1565
1577
  #other-client--per-operation-configuration>`__.
1566
- :returns: Blob-updated property dict (Snapshot ID, Etag, and last modified).
1578
+ :return: Blob-updated property dict (Snapshot ID, Etag, and last modified).
1567
1579
  :rtype: dict[str, Any]
1568
1580
 
1569
1581
  .. admonition:: Example:
@@ -1746,6 +1758,15 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
1746
1758
 
1747
1759
  .. versionadded:: 12.9.0
1748
1760
 
1761
+ :keyword source_token_intent:
1762
+ Required when source is Azure Storage Files and using `TokenCredential` for authentication.
1763
+ This is ignored for other forms of authentication.
1764
+ Specifies the intent for all requests when using `TokenCredential` authentication. Possible values are:
1765
+
1766
+ backup - Specifies requests are intended for backup/admin type operations, meaning that all file/directory
1767
+ ACLs are bypassed and full permissions are granted. User must also have required RBAC permission.
1768
+
1769
+ :paramtype source_token_intent: Literal['backup']
1749
1770
  :keyword str encryption_scope:
1750
1771
  A predefined encryption scope used to encrypt the data on the sync copied blob. An encryption
1751
1772
  scope can be created using the Management API and referenced here by name. If a default
@@ -1754,7 +1775,7 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
1754
1775
 
1755
1776
  .. versionadded:: 12.10.0
1756
1777
 
1757
- :returns: A dictionary of copy properties (etag, last_modified, copy_id, copy_status).
1778
+ :return: A dictionary of copy properties (etag, last_modified, copy_id, copy_status).
1758
1779
  :rtype: dict[str, Union[str, ~datetime.datetime]]
1759
1780
 
1760
1781
  .. admonition:: Example:
@@ -1770,7 +1791,8 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
1770
1791
  source_url=source_url,
1771
1792
  metadata=metadata,
1772
1793
  incremental_copy=incremental_copy,
1773
- **kwargs)
1794
+ **kwargs
1795
+ )
1774
1796
  try:
1775
1797
  if incremental_copy:
1776
1798
  return cast(Dict[str, Union[str, datetime]], self._client.page_blob.copy_incremental(**options))
@@ -1792,6 +1814,7 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
1792
1814
  The copy operation to abort. This can be either an ID string, or an
1793
1815
  instance of BlobProperties.
1794
1816
  :type copy_id: str or ~azure.storage.blob.BlobProperties
1817
+ :return: None
1795
1818
  :rtype: None
1796
1819
 
1797
1820
  .. admonition:: Example:
@@ -1854,7 +1877,7 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
1854
1877
  This value is not tracked or validated on the client. To configure client-side network timesouts
1855
1878
  see `here <https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/storage/azure-storage-blob
1856
1879
  #other-client--per-operation-configuration>`__.
1857
- :returns: A BlobLeaseClient object.
1880
+ :return: A BlobLeaseClient object.
1858
1881
  :rtype: ~azure.storage.blob.BlobLeaseClient
1859
1882
 
1860
1883
  .. admonition:: Example:
@@ -1910,6 +1933,7 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
1910
1933
  Required if the blob has an active lease. Value can be a BlobLeaseClient object
1911
1934
  or the lease ID as a string.
1912
1935
  :paramtype lease: ~azure.storage.blob.BlobLeaseClient or str
1936
+ :return: None
1913
1937
  :rtype: None
1914
1938
  """
1915
1939
  access_conditions = get_access_conditions(kwargs.pop('lease', None))
@@ -1980,7 +2004,7 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
1980
2004
  This value is not tracked or validated on the client. To configure client-side network timesouts
1981
2005
  see `here <https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/storage/azure-storage-blob
1982
2006
  #other-client--per-operation-configuration>`__.
1983
- :returns: Blob property dict.
2007
+ :return: Blob property dict.
1984
2008
  :rtype: dict[str, Any]
1985
2009
  """
1986
2010
  if self.require_encryption or (self.key_encryption_key is not None):
@@ -2046,7 +2070,16 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
2046
2070
  :keyword str source_authorization:
2047
2071
  Authenticate as a service principal using a client secret to access a source blob. Ensure "bearer " is
2048
2072
  the prefix of the source_authorization string.
2049
- :returns: Blob property dict.
2073
+ :keyword source_token_intent:
2074
+ Required when source is Azure Storage Files and using `TokenCredential` for authentication.
2075
+ This is ignored for other forms of authentication.
2076
+ Specifies the intent for all requests when using `TokenCredential` authentication. Possible values are:
2077
+
2078
+ backup - Specifies requests are intended for backup/admin type operations, meaning that all file/directory
2079
+ ACLs are bypassed and full permissions are granted. User must also have required RBAC permission.
2080
+
2081
+ :paramtype source_token_intent: Literal['backup']
2082
+ :return: Blob property dict.
2050
2083
  :rtype: dict[str, Any]
2051
2084
  """
2052
2085
  if kwargs.get('cpk') and self.scheme.lower() != 'https':
@@ -2057,7 +2090,8 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
2057
2090
  source_offset=source_offset,
2058
2091
  source_length=source_length,
2059
2092
  source_content_md5=source_content_md5,
2060
- **kwargs)
2093
+ **kwargs
2094
+ )
2061
2095
  try:
2062
2096
  return cast(Dict[str, Any], self._client.block_blob.stage_block_from_url(**options))
2063
2097
  except HttpResponseError as error:
@@ -2090,7 +2124,7 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
2090
2124
  This value is not tracked or validated on the client. To configure client-side network timesouts
2091
2125
  see `here <https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/storage/azure-storage-blob
2092
2126
  #other-client--per-operation-configuration>`__.
2093
- :returns: A tuple of two lists - committed and uncommitted blocks
2127
+ :return: A tuple of two lists - committed and uncommitted blocks
2094
2128
  :rtype: Tuple[List[BlobBlock], List[BlobBlock]]
2095
2129
  """
2096
2130
  access_conditions = get_access_conditions(kwargs.pop('lease', None))
@@ -2202,7 +2236,7 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
2202
2236
  This value is not tracked or validated on the client. To configure client-side network timesouts
2203
2237
  see `here <https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/storage/azure-storage-blob
2204
2238
  #other-client--per-operation-configuration>`__.
2205
- :returns: Blob-updated property dict (Etag and last modified).
2239
+ :return: Blob-updated property dict (Etag and last modified).
2206
2240
  :rtype: dict(str, Any)
2207
2241
  """
2208
2242
  if self.require_encryption or (self.key_encryption_key is not None):
@@ -2244,6 +2278,7 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
2244
2278
  Required if the blob has an active lease. Value can be a BlobLeaseClient object
2245
2279
  or the lease ID as a string.
2246
2280
  :paramtype lease: ~azure.storage.blob.BlobLeaseClient or str
2281
+ :return: None
2247
2282
  :rtype: None
2248
2283
  """
2249
2284
  access_conditions = get_access_conditions(kwargs.pop('lease', None))
@@ -2299,7 +2334,7 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
2299
2334
  This value is not tracked or validated on the client. To configure client-side network timesouts
2300
2335
  see `here <https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/storage/azure-storage-blob
2301
2336
  #other-client--per-operation-configuration>`__.
2302
- :returns: Blob-updated property dict (Etag and last modified)
2337
+ :return: Blob-updated property dict (Etag and last modified)
2303
2338
  :rtype: Dict[str, Any]
2304
2339
  """
2305
2340
  version_id = get_version_id(self.version_id, kwargs)
@@ -2332,7 +2367,7 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
2332
2367
  This value is not tracked or validated on the client. To configure client-side network timesouts
2333
2368
  see `here <https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/storage/azure-storage-blob
2334
2369
  #other-client--per-operation-configuration>`__.
2335
- :returns: Key value pairs of blob tags.
2370
+ :return: Key value pairs of blob tags.
2336
2371
  :rtype: Dict[str, str]
2337
2372
  """
2338
2373
  version_id = get_version_id(self.version_id, kwargs)
@@ -2404,7 +2439,7 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
2404
2439
  This value is not tracked or validated on the client. To configure client-side network timesouts
2405
2440
  see `here <https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/storage/azure-storage-blob
2406
2441
  #other-client--per-operation-configuration>`__.
2407
- :returns:
2442
+ :return:
2408
2443
  A tuple of two lists of page ranges as dictionaries with 'start' and 'end' keys.
2409
2444
  The first element are filled page ranges, the 2nd element is cleared page ranges.
2410
2445
  :rtype: tuple(list(dict(str, str), list(dict(str, str))
@@ -2497,7 +2532,7 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
2497
2532
  This value is not tracked or validated on the client. To configure client-side network timesouts
2498
2533
  see `here <https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/storage/azure-storage-blob
2499
2534
  #other-client--per-operation-configuration>`__.
2500
- :returns: An iterable (auto-paging) of PageRange.
2535
+ :return: An iterable (auto-paging) of PageRange.
2501
2536
  :rtype: ~azure.core.paging.ItemPaged[~azure.storage.blob.PageRange]
2502
2537
  """
2503
2538
  results_per_page = kwargs.pop('results_per_page', None)
@@ -2580,7 +2615,7 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
2580
2615
  This value is not tracked or validated on the client. To configure client-side network timesouts
2581
2616
  see `here <https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/storage/azure-storage-blob
2582
2617
  #other-client--per-operation-configuration>`__.
2583
- :returns:
2618
+ :return:
2584
2619
  A tuple of two lists of page ranges as dictionaries with 'start' and 'end' keys.
2585
2620
  The first element are filled page ranges, the 2nd element is cleared page ranges.
2586
2621
  :rtype: tuple(list(dict(str, str), list(dict(str, str))
@@ -2645,7 +2680,7 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
2645
2680
  This value is not tracked or validated on the client. To configure client-side network timesouts
2646
2681
  see `here <https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/storage/azure-storage-blob
2647
2682
  #other-client--per-operation-configuration>`__.
2648
- :returns: Blob-updated property dict (Etag and last modified).
2683
+ :return: Blob-updated property dict (Etag and last modified).
2649
2684
  :rtype: dict(str, Any)
2650
2685
  """
2651
2686
  options = _set_sequence_number_options(sequence_number_action, sequence_number=sequence_number, **kwargs)
@@ -2701,7 +2736,7 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
2701
2736
  This value is not tracked or validated on the client. To configure client-side network timesouts
2702
2737
  see `here <https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/storage/azure-storage-blob
2703
2738
  #other-client--per-operation-configuration>`__.
2704
- :returns: Blob-updated property dict (Etag and last modified).
2739
+ :return: Blob-updated property dict (Etag and last modified).
2705
2740
  :rtype: dict(str, Any)
2706
2741
  """
2707
2742
  if kwargs.get('cpk') and self.scheme.lower() != 'https':
@@ -2797,7 +2832,7 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
2797
2832
  This value is not tracked or validated on the client. To configure client-side network timesouts
2798
2833
  see `here <https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/storage/azure-storage-blob
2799
2834
  #other-client--per-operation-configuration>`__.
2800
- :returns: Blob-updated property dict (Etag and last modified).
2835
+ :return: Blob-updated property dict (Etag and last modified).
2801
2836
  :rtype: dict(str, Any)
2802
2837
  """
2803
2838
  if self.require_encryption or (self.key_encryption_key is not None):
@@ -2919,7 +2954,16 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
2919
2954
  :keyword str source_authorization:
2920
2955
  Authenticate as a service principal using a client secret to access a source blob. Ensure "bearer " is
2921
2956
  the prefix of the source_authorization string.
2922
- :returns: Response after uploading pages from specified URL.
2957
+ :keyword source_token_intent:
2958
+ Required when source is Azure Storage Files and using `TokenCredential` for authentication.
2959
+ This is ignored for other forms of authentication.
2960
+ Specifies the intent for all requests when using `TokenCredential` authentication. Possible values are:
2961
+
2962
+ backup - Specifies requests are intended for backup/admin type operations, meaning that all file/directory
2963
+ ACLs are bypassed and full permissions are granted. User must also have required RBAC permission.
2964
+
2965
+ :paramtype source_token_intent: Literal['backup']
2966
+ :return: Response after uploading pages from specified URL.
2923
2967
  :rtype: Dict[str, Any]
2924
2968
  """
2925
2969
  if self.require_encryption or (self.key_encryption_key is not None):
@@ -2999,7 +3043,7 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
2999
3043
  This value is not tracked or validated on the client. To configure client-side network timesouts
3000
3044
  see `here <https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/storage/azure-storage-blob
3001
3045
  #other-client--per-operation-configuration>`__.
3002
- :returns: Blob-updated property dict (Etag and last modified).
3046
+ :return: Blob-updated property dict (Etag and last modified).
3003
3047
  :rtype: dict(str, Any)
3004
3048
  """
3005
3049
  if self.require_encryption or (self.key_encryption_key is not None):
@@ -3096,7 +3140,7 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
3096
3140
  This value is not tracked or validated on the client. To configure client-side network timesouts
3097
3141
  see `here <https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/storage/azure-storage-blob
3098
3142
  #other-client--per-operation-configuration>`__.
3099
- :returns: Blob-updated property dict (Etag, last modified, append offset, committed block count).
3143
+ :return: Blob-updated property dict (Etag, last modified, append offset, committed block count).
3100
3144
  :rtype: dict(str, Any)
3101
3145
  """
3102
3146
  if self.require_encryption or (self.key_encryption_key is not None):
@@ -3211,7 +3255,16 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
3211
3255
  :keyword str source_authorization:
3212
3256
  Authenticate as a service principal using a client secret to access a source blob. Ensure "bearer " is
3213
3257
  the prefix of the source_authorization string.
3214
- :returns: Result after appending a new block.
3258
+ :keyword source_token_intent:
3259
+ Required when source is Azure Storage Files and using `TokenCredential` for authentication.
3260
+ This is ignored for other forms of authentication.
3261
+ Specifies the intent for all requests when using `TokenCredential` authentication. Possible values are:
3262
+
3263
+ backup - Specifies requests are intended for backup/admin type operations, meaning that all file/directory
3264
+ ACLs are bypassed and full permissions are granted. User must also have required RBAC permission.
3265
+
3266
+ :paramtype source_token_intent: Literal['backup']
3267
+ :return: Result after appending a new block.
3215
3268
  :rtype: Dict[str, Union[str, datetime, int]]
3216
3269
  """
3217
3270
  if self.require_encryption or (self.key_encryption_key is not None):
@@ -3269,7 +3322,7 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
3269
3322
  This value is not tracked or validated on the client. To configure client-side network timesouts
3270
3323
  see `here <https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/storage/azure-storage-blob
3271
3324
  #other-client--per-operation-configuration>`__.
3272
- :returns: Blob-updated property dict (Etag, last modified, append offset, committed block count).
3325
+ :return: Blob-updated property dict (Etag, last modified, append offset, committed block count).
3273
3326
  :rtype: dict(str, Any)
3274
3327
  """
3275
3328
  if self.require_encryption or (self.key_encryption_key is not None):
@@ -3286,7 +3339,7 @@ class BlobClient(StorageAccountHostsMixin, StorageEncryptionMixin): # pylint: d
3286
3339
 
3287
3340
  The container need not already exist. Defaults to current blob's credentials.
3288
3341
 
3289
- :returns: A ContainerClient.
3342
+ :return: A ContainerClient.
3290
3343
  :rtype: ~azure.storage.blob.ContainerClient
3291
3344
 
3292
3345
  .. admonition:: Example: