Skip to content

Commit e16abba

Browse files
STG77 Preview (Azure#17381)
* reverted share lease * Added share lease docstrings This reverts commit 8094c4e. * [Datalake] HNS Soft Delete (Azure#17614) * generated HNS soft delete * undelete_path * deleted list_paths and config_async * lint * linter * Added get/set props * recorded tests and added models * added async prefix * recorded async tests for get and set props * removed preprod from yaml files * removed preprod from yaml files * cleaned up model name * cleaned up model name * added path helpers * fixed preprod * added the deserialize method for deleted paths * added get deleted Paths * renamed models * fixed delete directory failing tests * fixed recording for get_deleted_paths * fixed tests * fixed tests * rename * linter * linter * typing * cleaned up * renamed and cleaned up * linter and rename * linter * added test * rename deleted_path_version to deletion_id * Fixed dir prefix issue * Fixed directory prefix issue * renamed deser * reset testcase * removed whl * fixed pos arg * fixed retention * fixed docstrings * fixed test failures * added new header to detect file or dir * cleanup * fixed tests Co-authored-by: xiafu <xiafu@microsoft.com> Co-authored-by: Xiaoxi Fu <49707495+xiafu-msft@users.noreply.github.com> * reran tests * reran tests * Rerecord tests (Azure#17934) * reran tests * reran tests * changed version for datalake * Fix service properties Metrics class (Azure#17992) * [Blob] Added QQ Parquet Format (Azure#17855) * Added QQ Parquet * cleanup * added parquet format * added version * added parquet tests * removed comment and fixed docstrings * abs path * changed version * added qq parquet to dl * changed msrest version * added tests * recorded tests * changed version for fileshares * fixed parquet type check * added missing comma * resolved archboard feedback * removed useless imports * added metrics for datalake * added extra test * updated datalake depedency * updated datalake depedency * migrated remaining tests * parquet file fix * parquet file fix * path * path * fixed recordings for the recursive bug * Stg77 Cleanup (Azure#18376) * STG77 Preview Cleanup * resolved more archboard feedback * privated undelete path * removed parquet format * removed parquet dialect from serialize and droped the blob dep version * removed parquet dialect from serialize and droped the blob dep version * lint * resolved feedback comments * fixed return type * skipped list deleted paths tests Co-authored-by: xiafu <xiafu@microsoft.com> Co-authored-by: Xiaoxi Fu <49707495+xiafu-msft@users.noreply.github.com>
1 parent 85f161a commit e16abba

File tree

111 files changed

+15060
-409
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

111 files changed

+15060
-409
lines changed

sdk/storage/azure-storage-blob/CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# Release History
22

3+
## 12.9.0b1 (Unreleased)
4+
35
## 12.8.1 (2021-04-20)
46
**Fixes**
57
- Fixed retry on large block upload
@@ -13,7 +15,6 @@
1315
- Added retry for blob download (#17974, #10572)
1416
- Fixed encryption algorithm hardcoded setting (#17835)
1517

16-
1718
## 12.8.0 (2021-03-01)
1819
**Stable release of preview features**
1920
- Added `ContainerClient.exists()` method

sdk/storage/azure-storage-blob/azure/storage/blob/_generated/_azure_blob_storage.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
# pylint: disable=unused-import,ungrouped-imports
1616
from typing import Any
1717

18+
from azure.core.pipeline.transport import HttpRequest, HttpResponse
19+
1820
from ._configuration import AzureBlobStorageConfiguration
1921
from .operations import ServiceOperations
2022
from .operations import ContainerOperations
@@ -77,6 +79,24 @@ def __init__(
7779
self.block_blob = BlockBlobOperations(
7880
self._client, self._config, self._serialize, self._deserialize)
7981

82+
def _send_request(self, http_request, **kwargs):
83+
# type: (HttpRequest, Any) -> HttpResponse
84+
"""Runs the network request through the client's chained policies.
85+
86+
:param http_request: The network request you want to make. Required.
87+
:type http_request: ~azure.core.pipeline.transport.HttpRequest
88+
:keyword bool stream: Whether the response payload will be streamed. Defaults to True.
89+
:return: The response of your network call. Does not do error handling on your response.
90+
:rtype: ~azure.core.pipeline.transport.HttpResponse
91+
"""
92+
path_format_arguments = {
93+
'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True),
94+
}
95+
http_request.url = self._client.format_url(http_request.url, **path_format_arguments)
96+
stream = kwargs.pop("stream", True)
97+
pipeline_response = self._client._pipeline.run(http_request, stream=stream, **kwargs)
98+
return pipeline_response.http_response
99+
80100
def close(self):
81101
# type: () -> None
82102
self._client.close()

sdk/storage/azure-storage-blob/azure/storage/blob/_generated/_configuration.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ def __init__(
3838
super(AzureBlobStorageConfiguration, self).__init__(**kwargs)
3939

4040
self.url = url
41-
self.version = "2020-06-12"
41+
self.version = "2020-08-04"
4242
kwargs.setdefault('sdk_moniker', 'azureblobstorage/{}'.format(VERSION))
4343
self._configure(**kwargs)
4444

sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/_azure_blob_storage.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
from typing import Any
1010

1111
from azure.core import AsyncPipelineClient
12+
from azure.core.pipeline.transport import AsyncHttpResponse, HttpRequest
1213
from msrest import Deserializer, Serializer
1314

1415
from ._configuration import AzureBlobStorageConfiguration
@@ -72,6 +73,23 @@ def __init__(
7273
self.block_blob = BlockBlobOperations(
7374
self._client, self._config, self._serialize, self._deserialize)
7475

76+
async def _send_request(self, http_request: HttpRequest, **kwargs: Any) -> AsyncHttpResponse:
77+
"""Runs the network request through the client's chained policies.
78+
79+
:param http_request: The network request you want to make. Required.
80+
:type http_request: ~azure.core.pipeline.transport.HttpRequest
81+
:keyword bool stream: Whether the response payload will be streamed. Defaults to True.
82+
:return: The response of your network call. Does not do error handling on your response.
83+
:rtype: ~azure.core.pipeline.transport.AsyncHttpResponse
84+
"""
85+
path_format_arguments = {
86+
'url': self._serialize.url("self._config.url", self._config.url, 'str', skip_quote=True),
87+
}
88+
http_request.url = self._client.format_url(http_request.url, **path_format_arguments)
89+
stream = kwargs.pop("stream", True)
90+
pipeline_response = await self._client._pipeline.run(http_request, stream=stream, **kwargs)
91+
return pipeline_response.http_response
92+
7593
async def close(self) -> None:
7694
await self._client.close()
7795

sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/_configuration.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ def __init__(
3333
super(AzureBlobStorageConfiguration, self).__init__(**kwargs)
3434

3535
self.url = url
36-
self.version = "2020-06-12"
36+
self.version = "2020-08-04"
3737
kwargs.setdefault('sdk_moniker', 'azureblobstorage/{}'.format(VERSION))
3838
self._configure(**kwargs)
3939

sdk/storage/azure-storage-blob/azure/storage/blob/_generated/aio/operations/_append_blob_operations.py

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
# Changes may cause incorrect behavior and will be lost if the code is regenerated.
77
# --------------------------------------------------------------------------
88
import datetime
9-
from typing import Any, Callable, Dict, Generic, IO, Optional, TypeVar
9+
from typing import Any, Callable, Dict, Generic, IO, Optional, TypeVar, Union
1010
import warnings
1111

1212
from azure.core.exceptions import ClientAuthenticationError, HttpResponseError, ResourceExistsError, ResourceNotFoundError, map_error
@@ -47,6 +47,9 @@ async def create(
4747
metadata: Optional[str] = None,
4848
request_id_parameter: Optional[str] = None,
4949
blob_tags_string: Optional[str] = None,
50+
immutability_policy_expiry: Optional[datetime.datetime] = None,
51+
immutability_policy_mode: Optional[Union[str, "_models.BlobImmutabilityPolicyMode"]] = None,
52+
legal_hold: Optional[bool] = None,
5053
blob_http_headers: Optional["_models.BlobHTTPHeaders"] = None,
5154
lease_access_conditions: Optional["_models.LeaseAccessConditions"] = None,
5255
cpk_info: Optional["_models.CpkInfo"] = None,
@@ -75,6 +78,13 @@ async def create(
7578
:type request_id_parameter: str
7679
:param blob_tags_string: Optional. Used to set blob tags in various blob operations.
7780
:type blob_tags_string: str
81+
:param immutability_policy_expiry: Specifies the date time when the blobs immutability policy
82+
is set to expire.
83+
:type immutability_policy_expiry: ~datetime.datetime
84+
:param immutability_policy_mode: Specifies the immutability policy mode to set on the blob.
85+
:type immutability_policy_mode: str or ~azure.storage.blob.models.BlobImmutabilityPolicyMode
86+
:param legal_hold: Specified if a legal hold should be set on the blob.
87+
:type legal_hold: bool
7888
:param blob_http_headers: Parameter group.
7989
:type blob_http_headers: ~azure.storage.blob.models.BlobHTTPHeaders
8090
:param lease_access_conditions: Parameter group.
@@ -191,6 +201,12 @@ async def create(
191201
header_parameters['x-ms-client-request-id'] = self._serialize.header("request_id_parameter", request_id_parameter, 'str')
192202
if blob_tags_string is not None:
193203
header_parameters['x-ms-tags'] = self._serialize.header("blob_tags_string", blob_tags_string, 'str')
204+
if immutability_policy_expiry is not None:
205+
header_parameters['x-ms-immutability-policy-until-date'] = self._serialize.header("immutability_policy_expiry", immutability_policy_expiry, 'rfc-1123')
206+
if immutability_policy_mode is not None:
207+
header_parameters['x-ms-immutability-policy-mode'] = self._serialize.header("immutability_policy_mode", immutability_policy_mode, 'str')
208+
if legal_hold is not None:
209+
header_parameters['x-ms-legal-hold'] = self._serialize.header("legal_hold", legal_hold, 'bool')
194210
header_parameters['Accept'] = self._serialize.header("accept", accept, 'str')
195211

196212
request = self._client.put(url, query_parameters, header_parameters)
@@ -199,7 +215,7 @@ async def create(
199215

200216
if response.status_code not in [201]:
201217
map_error(status_code=response.status_code, response=response, error_map=error_map)
202-
error = self._deserialize(_models.StorageError, response)
218+
error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
203219
raise HttpResponseError(response=response, model=error)
204220

205221
response_headers = {}
@@ -368,7 +384,7 @@ async def append_block(
368384

369385
if response.status_code not in [201]:
370386
map_error(status_code=response.status_code, response=response, error_map=error_map)
371-
error = self._deserialize(_models.StorageError, response)
387+
error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
372388
raise HttpResponseError(response=response, model=error)
373389

374390
response_headers = {}
@@ -568,7 +584,7 @@ async def append_block_from_url(
568584

569585
if response.status_code not in [201]:
570586
map_error(status_code=response.status_code, response=response, error_map=error_map)
571-
error = self._deserialize(_models.StorageError, response)
587+
error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
572588
raise HttpResponseError(response=response, model=error)
573589

574590
response_headers = {}
@@ -682,7 +698,7 @@ async def seal(
682698

683699
if response.status_code not in [200]:
684700
map_error(status_code=response.status_code, response=response, error_map=error_map)
685-
error = self._deserialize(_models.StorageError, response)
701+
error = self._deserialize.failsafe_deserialize(_models.StorageError, response)
686702
raise HttpResponseError(response=response, model=error)
687703

688704
response_headers = {}

0 commit comments

Comments
 (0)