Skip to content

asorrin-msft/azure-storage-cpp

 
 

Repository files navigation

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.

Note that the Azure Storage Client Library for C++ library is a CTP (Community Technology Preview) release.

Features

  • Tables
    • Create/Delete Tables
    • Query/Create/Read/Update/Delete Entities
  • Blobs
    • Create/Read/Update/Delete Blobs
  • Queues
    • Create/Delete Queues
    • Insert/Peek Queue Messages
    • Advanced Queue Operations

Getting started

For the best development experience, we recommend that developers use the official Microsoft NuGet packages for libraries. NuGet packages are regularly updated with new functionality and hotfixes. Download the NuGet Package.

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.

For general suggestions about Azure, use our Azure feedback forum.

Download & Install

Via Git

To create a local clone of the source for the Azure Storage Client Library for C++ via git, type:

git clone https://github.com/Azure/azure-storage-cpp.git
cd azure-storage-cpp

Via NuGet

To install the binaries for the Azure Storage Client Library for C++, type the following into the NuGet Package Manager console:

Install-Package wastorage -Pre

Dependencies

C++ REST SDK

The Azure Storage Client Library for C++ depends on the C++ REST SDK (codename "Casablanca") 2.3.0. It can be installed through NuGet or downloaded directly from CodePlex.

Code Samples

How-to topics focused around accomplishing specific tasks are available in the samples folder.

Getting Started on Linux

As mentioned above, the Azure Storage Client Library for C++ depends on Casablanca. Follow these instructions to compile it. Version 0.4.0 of the library depends on Casablanca version 2.3.0.

Once this is complete, then:

  • Clone the project using git:
git clone https://github.com/Azure/azure-storage-cpp.git

The project is cloned to a folder called azure-storage-cpp. Always use the master branch, which contains the latest release.

  • Install additional dependencies:
sudo apt-get install libxml++2.6-dev libxml++2.6-doc uuid-dev
  • Build the SDK for Release:
cd azure-storage-cpp/Microsoft.WIndowsAzure.Storage
mkdir build.release
cd build.release
CASABLANCA_DIR=<path to Casablanca> CXX=g++-4.8 cmake .. -DCMAKE_BUILD_TYPE=Release
make

In the above command, replace <path to Casablanca> to point to your local installation of Casablanca. For example, if the file libcpprest.so exists at location ~/Github/Casablanca/casablanca/Release/build.release/Binaries/libcpprest.so, then your cmake command should be:

CASABLANCA_DIR=~/Github/Casablanca/casablanca CXX=g++-4.8 cmake .. -DCMAKE_BUILD_TYPE=Release

The library is generated under azure-storage-cpp/Microsoft.WindowsAzure.Storage/build.release/Binaries/.

Once you have built the library, the samples should work equally well for Windows and Linux. You can build the samples as well:

cd ../samples
vi SamplesCommon/samples_common.h – edit this file to include your storage account name and key
mkdir build.release
cd build.release
CASABLANCA_DIR=<path to Casablanca> CXX=g++-4.8 cmake .. -DCMAKE_BUILD_TYPE=Release
Make

To run the samples:

cd Binaries
cp ../../BlobsGettingStarted/DataFile.txt .            (this is required to run the blobs sample)
./samplesblobs            (run the blobs sample)
./samplestables           (run the tables sample)
./samplesqueues           (run the queues sample)

About

Windows Azure Storage libraries for C++

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 99.4%
  • Other 0.6%