| azure-storage-blobs |
Other Changes and Improvements
- Added and updated some samples.
- Fixed a read consistency issue.
Breaking Changes
- Added
finalspecifier 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
ContentTypefromGetBlockListResult. - Moved
GetPageRangesResultto detail namespace. BlobServiceClient::UndeleteBlobContainerdoesn'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::startsOntoStartsOn. - 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
FilterBlobItemtoTaggedBlobItem.FindBlobsByTags()now returnsFindBlobsByTagsPagedResponseand the fieldFindBlobsByTagsSinglePageResult::Itemswas 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
StartCopyFromUriandStartCopyIncrementalAPI from aResponse<T>to the particularOperation<T>type calledStartBlobCopyOperationdirectly. - String conversion functions of extensible enums were renamed from
Get()toToString(). - Moved
SecondaryHostForRetryReadsout of retry options, now it's underBlobClientOptions. - Changed the return types of the following APIs:
BlobServiceClient::DeleteBlobContainernow returnsDeleteBlobContainerResult.BlobServiceClient::GetUserDelegationKeynow returnsUserDelegationKey.BlobServiceClient::GetPropertiesnow returnsBlobServiceProperties.BlobServiceClient::GetAccountInfonow returnsAccountInfo.BlobServiceClient::GetStatisticsnow returnsServiceStatistics.BlobContainerClient::DeleteBlobnow returnsDeleteBlobResult.BlobContainerClient::GetPropertiesnow returnsBlobContainerProperties.BlobContainerClient::GetAccessPolicynow returnsBlobContainerAccessPolicy.BlobClient::GetPropertiesnow returnsBlobProperties.BlobClinet::GetTagsnow returnsstd::map<std::string, std::string>.BlobClient::AbortCopyFromUrinow returnsAbortBlobCopyFromUriResult.PageBlobClient::UploadPagesnow returnsUploadPagesResult.PageBlobClient::UploadPagesFromUrinow returnsUploadPagesFromUriResult.PageBlobClient::ClearPagesnow returnsClearPagesResult.PageBlobClient::GetPageRanges,PageBlobClient::GetPageRangesDiffandPageBlobClient::GetManagedDiskPageRangesDiffnow returnGetPageRangesResult.
- Renamed some options:
- Renamed
UploadPageBlobPagesOptionstoUploadPagesOptions. - Renamed
UploadPageBlobPagesFromUriOptionstoUploadPagesFromUriOptions. - Renamed
ClearPageBlobPagesOptionstoClearPagesOptions. - Renamed
GetPageBlobPageRangesOptionstoGetPageRangesOptions. - Renamed
StartCopyBlobFromUriOptionstoStartBlobCopyFromUriOptions. - Renamed
StartCopyPageBlobIncrementalOptionstoStartBlobCopyIncrementalOptions.
- Renamed
- Removed
Blobfrom the name of lease options and return types, likeAcquireBlobLeaseOptionswas renamed toAcquireLeaseOptions. - Removed
Blobprefix from the name of structsBlobGeoReplication,BlobLeaseStatus,BlobLeaseState,BlobLeaseDurationType,BlobAnalyticsLogging,BlobMetrics,BlobCorsRule,BlobRetentionPolicy,BlobStaticWebsite,BlobArchiveStatusandBlobGeoReplicationStatus. - Removed
RequestIdfrom return types. - Changed
BodyStreamparameter ofUploadBlob,Upload,UploadPagesandAppendBlockfunctions from pointer to reference. - Renamed access tier members in return types and options from
TiertoAccessTier. - Renamed
BlockListTypeOptiontoBlockListType.
Breaking Changes
- Removed
BreakBlobLeaseResult::Leasetime. - Moved
Azure::Core::Contextout of options bag of each API, and make it the last optional parameter.
New Features
- Added
RequestIdin API return types. - Added some new properties in
GetBlobPropertiesResult,DownloadBlobResultandDownloadBlobToResult. - Added
RangeHashAlgorithminDownloadBlobOptions. - Added
UploadBlobinBlobContainerClient.
Breaking Changes
UserDelegationKeywas changed to a member ofGetUserDelegationKeyResultrather than a typedef like before.AccessTypeinCreateBlobContainerOptionswas changed to non-nullable.ListTypeinGetBlockListOptionswas 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::Privatewas renamed toPublicAccessType::None.startsOnparameter forGetUserDelegationKeywas changed to optional.- Removed
IfUnmodifiedSincefromSetBlobContainerMetadataOptions. - Return types of
BlobClient::StartCopyFromUriandPageBlobClient::StartCopyIncrementalwere changed toStartCopyBlobResult, supporting poll operations. - Fixed typo
Expiriesin model types. - Removed
PreviousContinuationTokenfromListBlobContainersSinglePageResult,ListBlobsByHierarchySinglePageResultandListBlobsSinglePageResult. ListBlobContainersIncludeItemwas renamed toListBlobContainersIncludeFlags.ListBlobsIncludeItemwas renamed toListBlobsIncludeFlags.Concurrency,ChunkSizeandInitialChunkSizewere moved intoDownloadBlobToOptions::TansferOptions.Concurrency,ChunkSizeandSingleUploadThresholdwere moved intoUploadBlockBlobFromOptions::TransferOptions.- Removed
TagValuefromFilterBlobItem, removedWherefromFindBlobsByTagsSinglePageResult. - Type for ETag was changed to
Azure::Core::ETag. - Removed
BlobPrefixstruct, usestd::stringinstead. - Refined
BlobContainerItem,BlobItem,DownloadBlobResultandDownloadBlobToResult.
New Features
- Added
CreateIfNotExistsandDeleteIfExistsfor blob containers and blobs. - Added
IsHierarchicalNamespaceEnabledinGetAccountInfoResult. - Added
PageBlobClient::GetPageRangesDiffandPageBlobClient::GetManagedDiskPageRangesDiff. - Added
CreateBlobContainer,DeleteBlobContainer,UndeleteBlobContainerintoBlobServiceClient. - Added
DeleteBlobtoBlobContainerClient. - Support setting blob SAS permission with a raw string.
Breaking Changes
- Renamed
AppendBlobAccessConditions::MaxSizetoIfMaxSizeLessThanOrEqual. - Renamed
AppendBlobAccessConditions::AppendPositiontoIfAppendPositionEqual. BlobServiceProperties.DefaultServiceVersionis now nullable.- Renamed
DeleteBlobSubRequest::containerNametoblobContainerName. - Renamed
SetBlobAccessTierSubRequest::containerNametoblobContainerName. - Renamed
BlobSasBuilder::ContainerNametoBlobContainerName. - Renamed
BlobSasResource::ContainertoBlobContainer. - Renamed
AccountSasResource::ContainertoBlobContainer - Renamed some structs:
CreateContainerResulttoCreateBlobContainerOptionsCreateContainerOptionstoCreateBlobContainerOptionsDeleteContainerResulttoDeleteBlobContainerResultDeleteContainerOptionstoDeleteBlobContainerOptionsGetContainerPropertiesResulttoGetBlobContainerPropertiesResultGetContainerPropertiesOptionstoGetBlobContainerPropertiesOptionsSetContainerMetadataResulttoSetBlobContainerMetadataResultSetContainerMetadataOptionstoSetBlobContainerMetadataOptionsGetContainerAccessPolicyResulttoGetBlobContainerAccessPolicyResultGetContainerAccessPolicyOptionstoGetBlobContainerAccessPolicyOptionsSetContainerAccessPolicyResulttoSetBlobContainerAccessPolicyResultSetContainerAccessPolicyOptionstoSetBlobContainerAccessPolicyOptionsAcquireContainerLeaseResulttoAcquireBlobContainerLeaseResultAcquireContainerLeaseOptionstoAcquireBlobContainerLeaseOptionsRenewContainerLeaseResulttoRenewBlobContainerLeaseResultRenewContainerLeaseOptionstoRenewBlobContainerLeaseOptionsReleaseContainerLeaseResulttoReleaseBlobContainerLeaseResultReleaseContainerLeaseOptionstoReleaseBlobContainerLeaseOptionsChangeContainerLeaseResulttoChangeBlobContainerLeaseResultChangeContainerLeaseOptionstoChangeBlobContainerLeaseOptionsBreakContainerLeaseResulttoBreakBlobContainerLeaseResultBreakContainerLeaseOptionstoBreakBlobContainerLeaseOptionsContainerAccessConditionstoBlobContainerAccessConditionsListContainersSegmentResulttoListBlobContainersSegmentResultListContainersSegmentOptionstoListBlobContainersSegmentOptions
- API signature for
CommitBlockListhas changed.BlockTypedoesn't need to be specified anymore. PageBlobClient::GetPageRangesdoesn't support getting difference between current blob and a snapshot anymore. UsePageBlobClient::GetPageRangesDiffinstead.- Moved Blob SAS into
Azure::Storage::Sasnamespace. - Replaced all transactional content MD5/CRC64 with the
ContentHashstruct. EncryptionKeySha256is changed to binary (std::vector<uint8_t>).ContentMd5HTTP header is renamed toContentHash, the type is also changed toContentHash.ServerEncryptedfields are renamed toIsServerEncrypted, and changed to non-nullable type.- Added
Isprefix to bool variable names. LikeIsAccessTierInferred,IsDeleted. IsServerEncrypted,EncryptionKeySha256andEncryptionScopeare removed fromClearPageBlobPagesResult, since they are never returned from storage server.ListBlobsFlatSegmentis renamed toListBlobsSinglePage.ListBlobsByHierarchySegmentis renamed toListBlobsByHierarchySinglePage.ListBlobContainersSegmentis renamed toListBlobContainersSinglePage.FindBlobsByTagsis renamed toFindBlobsByTagsSinglePage.MaxResultsin list APIs are renamed toPageSizeHint.- All date time related strings are now changed to
Azure::Core::DateTimetype. - Replaced
std::pair<int64_t, int64_t>withAzure::Core::Http::Rangeto denote blob ranges. - Made version strings private by moving them into the
Detailsnamespace. - Replaced scoped enums that don't support bitwise operations with extensible enum.
- Continuation token of result types are changed to nullable.
- Renamed
Models::DeleteSnapshotsOption::OnlytoOnlySnapshots. - Renamed
SourceConditionsin API options toSourceAccessConditions. - Removed Blob Batch.
DownloadBlobResult::Content-Rangeis changed to anAzure::Core::Http::Range, an extra fieldBlobSizeis added.- Removed
UndeletefromBlobContainerClient. BlobRetentionPolicy::Enabledis renamed toBlobRetentionPolicy::IsEnabled,BlobStaticWebsite::Enabledis renamed toBlobStaticWebsite::IsEnabled.- Changed type for metadata to case-insensitive
std::map. - Changed parameter type for token credential from
Azure::Identity::ClientSecretCredentialtoAzure::Core::TokenCredential. - Renamed member function
GetUriof client types toGetUrl. BlobClient::GetBlockBlobClient,BlobClient::GetAppendBlobClientandBlobClient::GetPageBlobClientare renamed toBlobClient::AsBlockBlobClient,BlobClient::AsAppendBlobClientandBlobClient::AsPageBlobClientrespectively.
New Features
- Support for replaceable HTTP transport layer.
- Add
version.hpp.
Breaking Changes
- Move header
azure/storage/blobs/blob.hpptoazure/storage/blobs.hpp. - Service API return types which are typically suffixed with
Resultare moved to theModelssub-namespaces and everything else from the protocol layer is made private by moving to theDetailsnamespace. - Make XML serializer and deserializer private by moving them to the
Detailsnamespace. - Remove
BlockBlobClientOptions,AppendBlobClientOptionsandPageBlobClientOptions, useBlobClientOptionsinstead. - Rename
BlobSasBuilder::ToSasQueryParameterstoBlobSasBuilder::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:
Markeris renamed toContinuationTokenforListContainersSegmentOptions,FindBlobsByTagsOptionsandListBlobsSegmentOptions. - Variable name change:
Markeris renamed toPreviousContinuationToken,NextMarkeris renamed toContinuationTokenforFilterBlobsSegmentResult,ListContainersSegmentResult,ListBlobsByHierarchySegmentResultandListBlobsFlatSegmentResult.
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