The SONAME currently written to shared libraries is unversioned, e.g. libazure-core.so. The SDK's ABI is unstable, so replacing these .so files with newer versions will immediately break any consumers. Setting the VERSION property results in libazure-core.so being a symlink that is used at build time to point to the versioned library, e.g. libazure-core.so.1.14.0. Consumers point directly to the versioned library and continue to work against the older version when the library is upgraded. Once rebuilt, they then point to the newer version instead. It is more common to use an ABI version that is separate to the library version, but it makes sense to use the latter when the ABI is unstable. The Boost libraries do exactly this. This change has no effect on static libraries, which is the more common use case. See the CMake documentation for its wider effects. https://cmake.org/cmake/help/latest/prop_tgt/VERSION.html |
||
|---|---|---|
| .. | ||
| azure-storage-blobs | ||
| azure-storage-common | ||
| azure-storage-files-datalake | ||
| azure-storage-files-shares | ||
| azure-storage-queues | ||
| assets.json | ||
| ci.yml | ||
| CMakeLists.txt | ||
| faq.md | ||
| MigrationGuide.md | ||
| README.md | ||
| test-resources-post.ps1 | ||
| test-resources.json | ||
| TestingGuide.md | ||
Azure Storage libraries for C++
Azure Storage is a Microsoft-managed service providing cloud storage that is highly available, secure, durable, scalable, and redundant. Azure Storage includes Blobs (objects), Queues, and Files.
-
Azure.Storage.Blobs is Microsoft's object storage solution for the cloud. Blob storage is optimized for storing massive amounts of unstructured data that does not adhere to a particular data model or definition, such as text or binary data.
-
Azure.Storage.Queues is a service for storing large numbers of messages. A queue message can be up to 64 KB in size and a queue may contain millions of messages, up to the total capacity limit of a storage account.
-
Azure.Storage.Files.Shares offers fully managed file shares in the cloud that are accessible via the industry standard Server Message Block (SMB) protocol. Azure file shares can be mounted concurrently by cloud or on-premises deployments of Windows, Linux, and macOS.
-
Azure.Storage.Files.DataLake includes all the capabilities required to make it easy for developers, data scientists, and analysts to store data of any size, shape, and speed, and do all types of processing and analytics across platforms and languages.
-
Azure.Storage.Common provides infrastructure shared by the other Azure Storage client libraries like shared key authentication and exceptions.
Contributing
See the C++ Contributing Guide for details on building, testing, and contributing to these libraries.
See the Storage Testing Guide for how to set up storage resources running unit tests.
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit cla.microsoft.com.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.