none
SDK vs REST

    Question

  • Hi.

       I'm looking to develop a CPP module to store data into Azure blobs. Based on the MSDN documentation that I've been over, it's not clear if using the SDK is a better option than using the REST interface. Are there any recommendations that could help tilt the balance one way or the other? There's a SO thread that discusses this briefly but I thought I'd check here as well.

        Due to legacy reasons, I'm bound to VS2010, if that makes a difference. It looks like the SDK depends on libraries that need newer versions of VS, but I can't be certain. I'd appreciate any inputs.

    Thanks and regards,

    Shishir

    Tuesday, February 2, 2016 8:19 AM

Answers

  • Hi Shishir,

    C++ SDK has the same feature set as .NET SDK in terms of matching the REST interface, except for one -- File service.

    For current release of C++ SDK (v2.2.0), we support VS2015 and VS2013. We don't officially support VS2010, but you can have a try as all source code are available on GitHub (https://github.com/Azure/azure-storage-cpp).

    Thanks,

    Han

    • Marked as answer by shishir_misra Wednesday, February 3, 2016 8:54 AM
    Wednesday, February 3, 2016 7:42 AM

All replies

  • Hi Shishir,

    Thanks for posting here.

    With Rest API, you can deploy your apps quickly and you don't have to wait for one or two features that are new and are not fully exposed in the .NET SDK, but that is rare and usually just a timing issue on our side. We implement everything in REST first, and then move the feature down into the SDKs (Java and .NET).  There are some performance benefits that you can also get from using the REST API directly, since you can switch to using JSON vs. ATOMPub (which is what the .NET SDK currently uses.)

    We also have 3rd party SDK's available for PHP and Node.js that are developed by the community. Those are a little further behind depending on how much the community is keeping up with us. 

    So to answer your question - like the rest of Azure, its really a developer preference thing.

    Girish Prajwal

    Tuesday, February 2, 2016 4:59 PM
    Moderator
  • This has several pieces of incorrect information. The storage .NET SDK will have new features exposed via REST on the very first day they are released, or within days. This is actually an advantage over REST. The latest .NET SDK defaults to JSON (not AtomPub) and even on older versions you can simply change the default in the TableRequestOptions. The storage Node SDK is completely owned by us though we do accept contributions.

    Tuesday, February 2, 2016 6:44 PM
  • Hi Emily/Girish.

        Thanks for your answers, which provide useful information. You've both mentioned the .NET SDK, though I'm looking to develop a C++ application. How does the C++ SDK compare with the .NET SDK in terms of matching the REST interface? Also, which is the minimum VS version needed to make use of the C++ SDK? It looks like VS2013 but I'd like to confirm this.

    Regards,

    Shishir

    Wednesday, February 3, 2016 4:06 AM
  • Hi Shishir, I'm forwarding your question on to be answered by the appropriate folks. You should see an update soon!
    Wednesday, February 3, 2016 5:20 AM
  • Hi Shishir,

    C++ SDK has the same feature set as .NET SDK in terms of matching the REST interface, except for one -- File service.

    For current release of C++ SDK (v2.2.0), we support VS2015 and VS2013. We don't officially support VS2010, but you can have a try as all source code are available on GitHub (https://github.com/Azure/azure-storage-cpp).

    Thanks,

    Han

    • Marked as answer by shishir_misra Wednesday, February 3, 2016 8:54 AM
    Wednesday, February 3, 2016 7:42 AM
  • Hi Han/Emily.

        Thanks for your help - this is exactly what I was looking for.

    Regards,

    Shishir

    Wednesday, February 3, 2016 8:55 AM
  • Hi Shishir, I want to add that C++ SDK has a dependency library called cpprestsdk. I don't think it support VS2010 for their current release either. So if you pull the source and try on VS2010, you might need to do the same for cpprestsdk. The source code of cpprestsdk is also on GitHub: https://github.com/microsoft/cpprestsdk

    Wednesday, February 3, 2016 11:32 PM