azure-storage-blobs |
Other Changes and Improvements
- Added and updated some samples.
- Fixed a read consistency issue.
Breaking Changes
- Added
final
specifier to classes and structures that are are not expected to be inheritable at the moment. - Renamed
HasMorePages()
in paged response toHasPage()
. - Default chunk size for concurrent upload was changed to nullable.
BlobLeaseClient::Change()
updates internal lease id.- Removed
ContentType
fromGetBlockListResult
. - Moved
GetPageRangesResult
to detail namespace. BlobServiceClient::UndeleteBlobContainer
doesn't support restoring a deleted container under a different name anymore.- Changed the type of block count to
int32_t
.
Breaking Changes
- Removed
Azure::Storage::Blobs::PackageVersion
. - Renamed
GetUserDelegationKeyOptions::startsOn
toStartsOn
. - Replaced all paginated collection functions that have the SinglePage suffix with pageable functions returning a
PagedResponse<T>
-derived type. The options are also renamed accordingly.BlobServiceClient::ListBlobContainers()
.BlobServiceClient::FindBlobsByTags()
.BlobContainerClient::ListBlobs()
.BlobContainerClient::ListBlobsByHierarchy()
.PageBlobClient::GetPageRanges()
.PageBlobClient::GetPageRangesDiff()
.PageBlobClient::GetManagedDiskPageRangesDiff()
.
- Renamed
FilterBlobItem
toTaggedBlobItem
.FindBlobsByTags()
now returnsFindBlobsByTagsPagedResponse
and the fieldFindBlobsByTagsSinglePageResult::Items
was renamed toFindBlobsByTagsPagedResponse::TaggedBlobs
.
New Features
- Added support for telemetry options.
- Added
Azure::Storage::Blobs::PackageVersion
. - Added
ShareFileClient::GetRangeListDiff
.
Breaking Changes
- Changed the return type of
StartCopyFromUri
andStartCopyIncremental
API from aResponse<T>
to the particularOperation<T>
type calledStartBlobCopyOperation
directly. - String conversion functions of extensible enums were renamed from
Get()
toToString()
. - Moved
SecondaryHostForRetryReads
out of retry options, now it's underBlobClientOptions
. - Changed the return types of the following APIs:
BlobServiceClient::DeleteBlobContainer
now returnsDeleteBlobContainerResult
.BlobServiceClient::GetUserDelegationKey
now returnsUserDelegationKey
.BlobServiceClient::GetProperties
now returnsBlobServiceProperties
.BlobServiceClient::GetAccountInfo
now returnsAccountInfo
.BlobServiceClient::GetStatistics
now returnsServiceStatistics
.BlobContainerClient::DeleteBlob
now returnsDeleteBlobResult
.BlobContainerClient::GetProperties
now returnsBlobContainerProperties
.BlobContainerClient::GetAccessPolicy
now returnsBlobContainerAccessPolicy
.BlobClient::GetProperties
now returnsBlobProperties
.BlobClinet::GetTags
now returnsstd::map<std::string, std::string>
.BlobClient::AbortCopyFromUri
now returnsAbortBlobCopyFromUriResult
.PageBlobClient::UploadPages
now returnsUploadPagesResult
.PageBlobClient::UploadPagesFromUri
now returnsUploadPagesFromUriResult
.PageBlobClient::ClearPages
now returnsClearPagesResult
.PageBlobClient::GetPageRanges
,PageBlobClient::GetPageRangesDiff
andPageBlobClient::GetManagedDiskPageRangesDiff
now returnGetPageRangesResult
.
- Renamed some options:
- Renamed
UploadPageBlobPagesOptions
toUploadPagesOptions
. - Renamed
UploadPageBlobPagesFromUriOptions
toUploadPagesFromUriOptions
. - Renamed
ClearPageBlobPagesOptions
toClearPagesOptions
. - Renamed
GetPageBlobPageRangesOptions
toGetPageRangesOptions
. - Renamed
StartCopyBlobFromUriOptions
toStartBlobCopyFromUriOptions
. - Renamed
StartCopyPageBlobIncrementalOptions
toStartBlobCopyIncrementalOptions
.
- Renamed
- Removed
Blob
from the name of lease options and return types, likeAcquireBlobLeaseOptions
was renamed toAcquireLeaseOptions
. - Removed
Blob
prefix from the name of structsBlobGeoReplication
,BlobLeaseStatus
,BlobLeaseState
,BlobLeaseDurationType
,BlobAnalyticsLogging
,BlobMetrics
,BlobCorsRule
,BlobRetentionPolicy
,BlobStaticWebsite
,BlobArchiveStatus
andBlobGeoReplicationStatus
. - Removed
RequestId
from return types. - Changed
BodyStream
parameter ofUploadBlob
,Upload
,UploadPages
andAppendBlock
functions from pointer to reference. - Renamed access tier members in return types and options from
Tier
toAccessTier
. - Renamed
BlockListTypeOption
toBlockListType
.
Breaking Changes
- Removed
BreakBlobLeaseResult::Leasetime
. - Moved
Azure::Core::Context
out of options bag of each API, and make it the last optional parameter.
New Features
- Added
RequestId
in API return types. - Added some new properties in
GetBlobPropertiesResult
,DownloadBlobResult
andDownloadBlobToResult
. - Added
RangeHashAlgorithm
inDownloadBlobOptions
. - Added
UploadBlob
inBlobContainerClient
.
Breaking Changes
UserDelegationKey
was changed to a member ofGetUserDelegationKeyResult
rather than a typedef like before.AccessType
inCreateBlobContainerOptions
was changed to non-nullable.ListType
inGetBlockListOptions
was changed to non-nullable.- Added
BlobLeaseClient
, all lease related APIs are moved toBlobLeaseClient
. - Type for lease duration in requests was changed to
std::chrono::seconds
, in response was changed to enum. PublicAccessType::Private
was renamed toPublicAccessType::None
.startsOn
parameter forGetUserDelegationKey
was changed to optional.- Removed
IfUnmodifiedSince
fromSetBlobContainerMetadataOptions
. - Return types of
BlobClient::StartCopyFromUri
andPageBlobClient::StartCopyIncremental
were changed toStartCopyBlobResult
, supporting poll operations. - Fixed typo
Expiries
in model types. - Removed
PreviousContinuationToken
fromListBlobContainersSinglePageResult
,ListBlobsByHierarchySinglePageResult
andListBlobsSinglePageResult
. ListBlobContainersIncludeItem
was renamed toListBlobContainersIncludeFlags
.ListBlobsIncludeItem
was renamed toListBlobsIncludeFlags
.Concurrency
,ChunkSize
andInitialChunkSize
were moved intoDownloadBlobToOptions::TansferOptions
.Concurrency
,ChunkSize
andSingleUploadThreshold
were moved intoUploadBlockBlobFromOptions::TransferOptions
.- Removed
TagValue
fromFilterBlobItem
, removedWhere
fromFindBlobsByTagsSinglePageResult
. - Type for ETag was changed to
Azure::Core::ETag
. - Removed
BlobPrefix
struct, usestd::string
instead. - Refined
BlobContainerItem
,BlobItem
,DownloadBlobResult
andDownloadBlobToResult
.
New Features
- Added
CreateIfNotExists
andDeleteIfExists
for blob containers and blobs. - Added
IsHierarchicalNamespaceEnabled
inGetAccountInfoResult
. - Added
PageBlobClient::GetPageRangesDiff
andPageBlobClient::GetManagedDiskPageRangesDiff
. - Added
CreateBlobContainer
,DeleteBlobContainer
,UndeleteBlobContainer
intoBlobServiceClient
. - Added
DeleteBlob
toBlobContainerClient
. - Support setting blob SAS permission with a raw string.
Breaking Changes
- Renamed
AppendBlobAccessConditions::MaxSize
toIfMaxSizeLessThanOrEqual
. - Renamed
AppendBlobAccessConditions::AppendPosition
toIfAppendPositionEqual
. BlobServiceProperties.DefaultServiceVersion
is now nullable.- Renamed
DeleteBlobSubRequest::containerName
toblobContainerName
. - Renamed
SetBlobAccessTierSubRequest::containerName
toblobContainerName
. - Renamed
BlobSasBuilder::ContainerName
toBlobContainerName
. - Renamed
BlobSasResource::Container
toBlobContainer
. - Renamed
AccountSasResource::Container
toBlobContainer
- Renamed some structs:
CreateContainerResult
toCreateBlobContainerOptions
CreateContainerOptions
toCreateBlobContainerOptions
DeleteContainerResult
toDeleteBlobContainerResult
DeleteContainerOptions
toDeleteBlobContainerOptions
GetContainerPropertiesResult
toGetBlobContainerPropertiesResult
GetContainerPropertiesOptions
toGetBlobContainerPropertiesOptions
SetContainerMetadataResult
toSetBlobContainerMetadataResult
SetContainerMetadataOptions
toSetBlobContainerMetadataOptions
GetContainerAccessPolicyResult
toGetBlobContainerAccessPolicyResult
GetContainerAccessPolicyOptions
toGetBlobContainerAccessPolicyOptions
SetContainerAccessPolicyResult
toSetBlobContainerAccessPolicyResult
SetContainerAccessPolicyOptions
toSetBlobContainerAccessPolicyOptions
AcquireContainerLeaseResult
toAcquireBlobContainerLeaseResult
AcquireContainerLeaseOptions
toAcquireBlobContainerLeaseOptions
RenewContainerLeaseResult
toRenewBlobContainerLeaseResult
RenewContainerLeaseOptions
toRenewBlobContainerLeaseOptions
ReleaseContainerLeaseResult
toReleaseBlobContainerLeaseResult
ReleaseContainerLeaseOptions
toReleaseBlobContainerLeaseOptions
ChangeContainerLeaseResult
toChangeBlobContainerLeaseResult
ChangeContainerLeaseOptions
toChangeBlobContainerLeaseOptions
BreakContainerLeaseResult
toBreakBlobContainerLeaseResult
BreakContainerLeaseOptions
toBreakBlobContainerLeaseOptions
ContainerAccessConditions
toBlobContainerAccessConditions
ListContainersSegmentResult
toListBlobContainersSegmentResult
ListContainersSegmentOptions
toListBlobContainersSegmentOptions
- API signature for
CommitBlockList
has changed.BlockType
doesn't need to be specified anymore. PageBlobClient::GetPageRanges
doesn't support getting difference between current blob and a snapshot anymore. UsePageBlobClient::GetPageRangesDiff
instead.- Moved Blob SAS into
Azure::Storage::Sas
namespace. - Replaced all transactional content MD5/CRC64 with the
ContentHash
struct. EncryptionKeySha256
is changed to binary (std::vector<uint8_t>
).ContentMd5
HTTP header is renamed toContentHash
, the type is also changed toContentHash
.ServerEncrypted
fields are renamed toIsServerEncrypted
, and changed to non-nullable type.- Added
Is
prefix to bool variable names. LikeIsAccessTierInferred
,IsDeleted
. IsServerEncrypted
,EncryptionKeySha256
andEncryptionScope
are removed fromClearPageBlobPagesResult
, since they are never returned from storage server.ListBlobsFlatSegment
is renamed toListBlobsSinglePage
.ListBlobsByHierarchySegment
is renamed toListBlobsByHierarchySinglePage
.ListBlobContainersSegment
is renamed toListBlobContainersSinglePage
.FindBlobsByTags
is renamed toFindBlobsByTagsSinglePage
.MaxResults
in list APIs are renamed toPageSizeHint
.- All date time related strings are now changed to
Azure::Core::DateTime
type. - Replaced
std::pair<int64_t, int64_t>
withAzure::Core::Http::Range
to denote blob ranges. - Made version strings private by moving them into the
Details
namespace. - Replaced scoped enums that don't support bitwise operations with extensible enum.
- Continuation token of result types are changed to nullable.
- Renamed
Models::DeleteSnapshotsOption::Only
toOnlySnapshots
. - Renamed
SourceConditions
in API options toSourceAccessConditions
. - Removed Blob Batch.
DownloadBlobResult::Content-Range
is changed to anAzure::Core::Http::Range
, an extra fieldBlobSize
is added.- Removed
Undelete
fromBlobContainerClient
. BlobRetentionPolicy::Enabled
is renamed toBlobRetentionPolicy::IsEnabled
,BlobStaticWebsite::Enabled
is renamed toBlobStaticWebsite::IsEnabled
.- Changed type for metadata to case-insensitive
std::map
. - Changed parameter type for token credential from
Azure::Identity::ClientSecretCredential
toAzure::Core::TokenCredential
. - Renamed member function
GetUri
of client types toGetUrl
. BlobClient::GetBlockBlobClient
,BlobClient::GetAppendBlobClient
andBlobClient::GetPageBlobClient
are renamed toBlobClient::AsBlockBlobClient
,BlobClient::AsAppendBlobClient
andBlobClient::AsPageBlobClient
respectively.
New Features
- Support for replaceable HTTP transport layer.
- Add
version.hpp
.
Breaking Changes
- Move header
azure/storage/blobs/blob.hpp
toazure/storage/blobs.hpp
. - Service API return types which are typically suffixed with
Result
are moved to theModels
sub-namespaces and everything else from the protocol layer is made private by moving to theDetails
namespace. - Make XML serializer and deserializer private by moving them to the
Details
namespace. - Remove
BlockBlobClientOptions
,AppendBlobClientOptions
andPageBlobClientOptions
, useBlobClientOptions
instead. - Rename
BlobSasBuilder::ToSasQueryParameters
toBlobSasBuilder::GenerateSasToken
.
Other Changes and Improvements
- Default uploading/downloading concurrency is changed from 1 to 5.
- Remove support for specifying SAS version.
New Features
- Bump up API version to 2020-02-10.
- Support for Last Accessting Time.
- Add TagCount and ExpiryTime in the responses of getting properties and downloading blobs.
Breaking Changes
- Variable name change: BreakContainerLeaseOptions::breakPeriod -> BreakContainerLeaseOptions::BreakPeriod.
- Variable name change: BreakBlobLeaseOptions::breakPeriod -> BreakBlobLeaseOptions::BreakPeriod.
- CreateFromConnectionString now accepts unencoded blob name.
- TagConditions is changed to nullable.
- Variable name change:
Marker
is renamed toContinuationToken
forListContainersSegmentOptions
,FindBlobsByTagsOptions
andListBlobsSegmentOptions
. - Variable name change:
Marker
is renamed toPreviousContinuationToken
,NextMarker
is renamed toContinuationToken
forFilterBlobsSegmentResult
,ListContainersSegmentResult
,ListBlobsByHierarchySegmentResult
andListBlobsFlatSegmentResult
.
Bug Fixes
- Unencoded Container/Blob name is now encoded.
New Features
- Support for Blob Batch.
- Support for Blob Index.
- Release based on azure-core_1.0.0-beta.1.
New Features
- Added support for Blob features:
- BlobServiceClient::ListBlobContainersSegment
- BlobServiceClient::GetUserDelegationKey
- BlobServiceClient::SetProperties
- BlobServiceClient::GetProperties
- BlobServiceClient::GetAccountInfo
- BlobServiceClient::GetStatistics
- BlobContainerClient::Create
- BlobContainerClient::Delete
- BlobContainerClient::GetProperties
- BlobContainerClient::SetMetadata
- BlobContainerClient::ListBlobsFlat
- BlobContainerClient::ListBlobsByHierarchy
- BlobContainerClient::Undelete
- BlobContainerClient::GetAccessPolicy
- BlobContainerClient::SetAccessPolicy
- BlobClient::GetProperties
- BlobClient::SetHttpHeaders
- BlobClient::SetMetadata
- BlobClient::SetAccessTier
- BlobClient::StartCopyFromUri
- BlobClient::AbortCopyFromUri
- BlobClient::Download
- BlobClient::DownloadToFile
- BlobClient::DownloadToBuffer
- BlobClient::CreateSnapshot
- BlobClient::Delete
- BlobClient::Undelete
- BlockBlobClient::Upload
- BlockBlobClient::UploadFromFile
- BlockBlobClient::UploadFromBuffer
- BlockBlobClient::StageBlock
- BlockBlobClient::StageBlockFromUri
- BlockBlobClient::CommitBlockList
- BlockBlobClient::GetBlockList
- AppendBlobClient::Create
- AppendBlobClient::AppendBlock
- AppendBlobClient::AppendBlockFromUri
- AppendBlobClient::Seal
- PageBlobClient::Create
- PageBlobClient::UploadPages
- PageBlobClient::UploadPagesFromUri
- PageBlobClient::ClearPages
- PageBlobClient::Resize
- PageBlobClient::GetPageRanges
- PageBlobClient::StartCopyIncremental
- Support for blob versioning.
- Support for blob lease and container lease.
- Support for account SAS and blob SAS.
- Support for transactional checksum.
ncG1vNJzZmiZqqq%2Fpr%2FDpJuom6Njr627wWeaqKqVY8SqusOorqxmnprBcHDWnplom6ClfKLG1KucZqukpL%2Bis8RmmaWnkqh8cn6NaWVpZ52ZrKCvvqGWmpeelLSgsb6llqiXl2O1tbnL