We have critical project partly deployed in azure that uses queues, blobs and table storage.
Now we using SDK 2.0 and thinking about moving to latest SDK 2.3 but it will cost us some resources especially for load testing with a new Azure SDK.
Is there a strong point to update SDK version like critical bug fix, performance issue or maybe useful new feature?
Sure, I read release notes but haven't found enough information about it.
In general we recommend that you always take the latest storage client from Nuget directly. If you look at Nuget you will see we are actually on 4.0.1 version of the .NET client vs the 2.0 version of the storage client that I believe is what shipped with SDK 2.0. As you can imagine there are a very large list of improvements between client 2.0 and 4.0. A couple of quick examples include: CORS Support, large improvements to Tables including JSON support and a highly optimized table service layer.
Here are some blogs with some more information:
http://blogs.msdn.com/b/windowsazurestorage/archive/2014/05/14/what-s-new-for-microsoft-azure-storage-at-teched-2014.aspx
http://blogs.msdn.com/b/windowsazurestorage/archive/2013/12/05/windows-azure-tables-introducing-json.aspx
There are also a lot of performance related improvements that have been made as well:
http://blogs.msdn.com/b/windowsazurestorage/archive/2013/09/07/announcing-storage-client-library-2-1-rtm.aspx
Hope this helps.
Jason
The latest Storage SDK version is now v12, which you can find in the Azure SDK repos:
Java
.NET
Python
JS/TS
You can also find migration guides in the repos which detail the migration benefits. The SDK has now split into separate ones like Storage Blob, Storage Queue, etc. The following are migration guides for Storage Blob. You can find the guides for the others in the repos as well:
Java
.NET
Finally, there are Changelogs for the new SDKs in the repos as well, which you can reference to see what fixes/changes are done. The following are Changelogs for Storage Blob. You can find the logs for Queue, Datalake, etc. in the repos as well:
Java
.NET
Python
JS/TS
It is recommended that you use the latest SDKs since those are the ones getting the new features as well as bug and critical fixes whereas the older libraries will only be getting bug and critical fixes. Read more about Azure SDK lifecycle and support policy
Related
I m lost between all those packages I m trying to use them with .NET Core 3.1.
I m using Azure.Cosmos and Azure.Storage.Blob, but I m unsure if I need to use the Microsoft ones.
I will be running Asp.net Core on Kubernetes container and azure function also on Kubernetes
Cosmos Db
https://www.nuget.org/packages/Azure.Cosmos/4.0.0-preview3
https://www.nuget.org/packages/Microsoft.Azure.Cosmos/3.9.0-preview
Blob Storage
https://www.nuget.org/packages/Azure.Storage.Blobs/12.4.1
https://www.nuget.org/packages/Microsoft.Azure.Storage.Blob/11.1.4
For Cosmos, the recommended package is Microsoft.Azure.Cosmos (version 3.8) simply because version 4 is in preview and 3.8 is the latest version generally available at the time of providing this answer. Please see this link regarding ETA on the general availability of v4 of SDK: https://github.com/Azure/azure-cosmos-dotnet-v3/issues/1370.
For Storage, the recommended package is Azure.Storage.Blobs (version 12.4.1) as this is the latest one at the time of providing this answer.
The Microsoft ones are the older versions, for v12 blob storage you should use the non-Microsoft ones and for v11 use the Microsoft ones.
It would make sense for you to refer to the above links to determine which you need to use for your case but obviously if possible use the latest version. Be aware that last time I looked v12 was problematic to use with the storage emulator which is being replaced by the Azurite emulator, which was only partially complete!
I can create a MobileServiceClient and GetTable<Model>() to InsertAsync, and see how my model gets inserted in the Easy Table table in Azure. But when I ReadAsync() from the table I get the following error:
Microsoft.WindowsAzure.MobileSerices.MobileServiceInvalidOperation: The server did not provide a response with the expected content.
This is when I mobileServiceClient.GetTable<Model>.ReadAsync()
What could be the problem?
This was when running from an MsTest project with no Microsoft.WindowsAzure.MobileServices.CurrentPlatform.Init(); call. The read worked when running the app
I had the same problem.
According to GitHub Issue:
As #elamalani pointed out above, we don't support .Net Core 2.1 in the SDK today. Unfortunately, we don't have a workaround today and like Ela said, the we don't have an ETA for a new release or other SDK to use for .Net Core 2.1 compatibility yet, so your only workaround is to stick with .Net Core 2.0 for now.
And I was also had SDK version 2.1
After changing SDK to version 2.0 all going to work fine. Please try to making the same, hope it will help you
Is the Azure storage v10 SDK and its dependencies compatible with Java 11?
Didn’t see a reference to Java 11 in the following:
https://github.com/Azure/azure-storage-java
Did not find reference or statement in this document as same as you. I downloaded jar package for Blob Storage SDK v10 from the maven repo and decompress it. I check the Build-Jdk property is 1.8.0_181 in the MANIFEST.MF file.
Based on the Oracle official document : Security Baselines JDK 11. The baseline version for V8 is 1.8.0_191-b12 which is upper than above version.
However, I tested Blob Storage SDK v10 code locally with V11 JDK and it works fine.I suggest you taking a shot on your side. Also,you could commit feedback to azure storage team.
You will need javafx, which is not provided by java 11.The dependency is used for instance in TransferManager - not that it really uses functionality of javafx, it is just introduced by an apparently lazy programmer..
According to this article some support for older versions of Azure are going away:
https://azure.microsoft.com/en-us/blog/microsoft-azure-storage-service-version-removal/
We have a vs2008 application that is uploading files to Azure. {Using Azure 1.2 (for VS2008) - Microsoft.WindowsAzure.StorageClient v1.0.0 - Runtime v2.0.50727}.
We can't have this break since we are using this in production.
I need to know if there is a clear way to know if this is going to stop working.
I would really like to know if there is a way to upgrade the vs2008 project to use a compatible version of the StorageClient without migrating the project to vs2015.
Your version of the library should still be supported after the service removal. You can confirm which version of the service you are hitting by running requests through Fiddler and checking the x-ms-version. As you can see in the most recent post regarding our service deprecation, we are only removing version 2009-07-17 and older as of August 1, 2016.
I'm suddenly getting the Bad Request (400) error when using the Azure Storage Emulator when trying to CreateIfNotExists. The Response on the Inner Exception says "The value for one of the HTTP headers is not in the correct format." All the tables exist, the data is in the tables, everything was working up until an update to my NuGet packages. Looking around SO it seems like a common cause is an update to Azure Storage Client Library (now at 5.0.0) that creates a mismatch. I updated the Azure SDK to 2.6 (since I have VS2012). This brings the Storage Emulator up to 4.0.0.0, but still no luck...same error. This is kind of a bad thing that suddenly an update to a package of a package of a package causes the whole thing to break and completely kills my rather large project. Any ideas?
In my case, the problem was with the Container Name, which has strict naming requirements.
Namely:
Only lowercase letters, numbers, and dash are allowed
Must be 3 to 63 characters
For more information, view Naming and Referencing Containers, Blobs, and Metadata on MSDN.
I don't know if this is a problem for anyone else, but this is what I have figured out...
Storage Emulator 4.1.0.0 is the one to use with Azure Storage Client Library 5.0.0
Storage Emulator 4.1.0.0 comes with Azure SDK 2.7.
Azure SDK 2.7 will not work with Visual Studio 2012.
Azure SDK 2.6 for VS2012 has Emulator 4.0.0.0. I don't know what Storage Client Library is compatible... I tried 4.3.0.0, 5.0.0.0, and 5.0.2, but had no luck
.
My "philosophical" issues with this whole thing are...
I can find no discernible connection between Storage Emulator
versions and Storage Client Library versions....The numbers don't
"match"; there are no errors, dependencies, or exceptions that tell
you the relationship; I can't find any look-up, cross-reference, or
table that describes the proper combination of libraries.
The "just use the latest version" theory doesn't work because in the
past they have released new versions of the Storage Client library
(3.0.0.0) w/o a working Emulator and now the "latest version" of each
is separately dependent on which SDK is available for your build
environment (VS2012 vs VS2015)
I understand the Storage Client Library isn't technically "dependent" on the emulator...you don't need the emulator to use Azure Storage. However, it would just be nice if some of these relationships were a little easier for a software oaf like me to figure out.
For me, I got this issue upon upgrading to the currently latest WindowsAzure.Storage version 9.3.1 package.
After hours of trying out various combinations of container names, and other stuff, the simplest solution was to roll back to the older and working version 8.6.0!
If I am not mistaken, you would need to downgrade client libraries to 4.x as well.
You see, each version of storage client library corresponds to a storage service REST API version and same goes for storage emulator as well. If you use storage emulator version 4.0, then you can't use storage client library 5 with that. You would need to use version 4.x with that.
If you want to use storage client library version 5, then you have 2 options:
Make use of latest version of storage emulator or
Do your development against cloud storage account.