* Pageable ListBlobs and ListBlobsByHierarchy * remove extra newline * ListBlobContainers ListFileSystems * make constructors private * Fix bug: continuation token * FindBlobsByTags * default constructible * GetPageRanges * fix bug of HasMore() * fix ut bug * ListFilesAndDirecotories * fix ut bug * add "class" * ForceCloseAllHandles * ListShares * ListDirectoryHandles * ForceCloseAllHandles * ListHandles * remove unused responses * reorder * changelog * doc * fix bug * make ListFileSystemsPagedResponse constructor public * NextPage * explicit private * Update sdk/storage/azure-storage-files-datalake/CHANGELOG.md Co-authored-by: Ahson Khan <ahkha@microsoft.com> * Update sdk/storage/azure-storage-files-shares/inc/azure/storage/files/shares/share_service_client.hpp Co-authored-by: Ahson Khan <ahkha@microsoft.com> * fix clang-format * optional context * bla bla * remove inlcude header * bla bla bla * bla bla bla bla * bla * rename Items * rename Handles * clang-format * listPaths * SetAccessControlListRecursive * move unused return types to details namespace * Rename NextPage and HasMore * clang-format * Apply suggestions from code review Co-authored-by: Ahson Khan <ahkha@microsoft.com> * Update sdk/storage/azure-storage-blobs/CHANGELOG.md Co-authored-by: Ahson Khan <ahkha@microsoft.com> * Update sdk/storage/azure-storage-blobs/CHANGELOG.md Co-authored-by: Ahson Khan <ahkha@microsoft.com> * Update sdk/storage/azure-storage-blobs/CHANGELOG.md Co-authored-by: Ahson Khan <ahkha@microsoft.com> * add comment Execution is never expected to reach here * FilterBlobItem -> TaggedBlobItem * Remvoe SetAccessControlListRecursive * remove ForceCloseAllHandles * CL for options * CL * Update sdk/storage/azure-storage-files-datalake/CHANGELOG.md Co-authored-by: Ahson Khan <ahkha@microsoft.com> * move impl to .cpp * keep current page unchanged on exception from MoveToNextPage() * Update sdk/storage/azure-storage-blobs/CHANGELOG.md Co-authored-by: Ahson Khan <ahkha@microsoft.com> * Update sdk/storage/azure-storage-blobs/CHANGELOG.md Co-authored-by: Ahson Khan <ahkha@microsoft.com> Co-authored-by: Ahson Khan <ahkha@microsoft.com> |
||
|---|---|---|
| .. | ||
| azure-storage-blobs | ||
| azure-storage-common | ||
| azure-storage-files-datalake | ||
| azure-storage-files-shares | ||
| ci.yml | ||
| CMakeLists.txt | ||
| README.md | ||
| test-resources-post.ps1 | ||
| test-resources.json | ||
Azure Storage Client Library for C++
The Azure Storage Client Library for C++ allows you to build applications against Microsoft Azure Storage. For an overview of Azure Storage, see Introduction to Microsoft Azure Storage.
Features
- Blobs
- Create/Delete/List Containers
- Create/Read/Update/Delete/List Blobs
- DataLake Gen 2
- Create/Delete File Systems
- Create/Delete Directories
- Create/Read/Append/Flush/Delete Files
- File Shares
- Create/Delete Shares
- Create/Delete Directories
- Create/Read/Delete Files
Getting started
For the best development experience, we recommend that developers use the CMake projects in Visual Studio to view and build the source code together with its dependencies.
Requirements
To call Azure services, you must first have an Azure subscription. Sign up for a free trial or use your MSDN subscriber benefits.
Need Help?
Be sure to check out the Azure Storage Forum on MSDN if you need help, or use StackOverflow.
Collaborate & Contribute
We gladly accept community contributions.
- Issues: Report bugs on the Issues page in GitHub. Ideally, please add an "[Storage]" prefix to the title for easier categorizing.
- Forums: Communicate with the Azure Storage development team on the Azure Storage Forum or StackOverflow.
- Source Code Contributions: Please follow the contribution guidelines for Azure open source for instructions about contributing to the source project.
For general suggestions about Azure, use our Azure feedback forum.
Download & Install
Install Dependencies
Windows
On Windows, dependencies are managed by vcpkg. You can reference the Quick Start to quickly set yourself up. After Vcpkg is initialized and bootstrapped, you can install the dependencies:
vcpkg.exe install libxml2:x64-windows-static curl:x64-windows-static
Unix Platforms
You can use the package manager on different Unix platforms to install the dependencies. The dependencies to be installed are:
- CMake 3.13.0 or higher.
- libxml2.
- OpenSSL.
- libcurl.
Build from Source
First, download the repository to your local folder:
git clone https://github.com/Azure/azure-sdk-for-cpp.git
Windows
Use CMake to generate the solution file
In a new folder you created under the root directory:
cmake .. -A x64 -DCMAKE_TOOLCHAIN_FILE=<YOUR_VCPKG_INSTALL_DIR>/scripts/buildsystems/vcpkg.cmake
cmake --build .
The built library will be in .\sdk\<ProjectDir>\<Configuration>\ respectively for Azure Core and Azure Storage. e.g. azure_core.lib will be in .\sdk\core\azure-core\Debug for debug configuration.
Use Visual Studio's Open by folder feature
Open the root folder of the library with Visual Studio's Open folder feature.
If Vcpkg is not globally integrated, then you need to open CMakeSettings.json and change the Make toolchain file to be <YOUR_VCPKG_INSTALL_DIR>/scripts/buildsystems/vcpkg.cmake and save.
Then you can build Azure Storage libraries by selecting the target in Visual Studio, or simply build all.
The libraries will be in <ProjectRoot>\out\build\<Configuration>\sdk\<LibraryName> respectively.
Unix Platforms
You can run the following command in a new folder created under the downloaded code's root folder to build the code.
cmake .. -DCMAKE_BUILD_TYPE=Debug
cmake --build .
Then you can consume the built library with the header files. make/ninja install is work in progress.
Via NuGet
WIP TODO when ready.
Via Vcpkg
WIP TODO when ready.
Dependencies
- Azure Core SDK
- libxml2
Code Samples
To get started with the coding, please visit the following code samples: