I have an application that relies on Azure SDK version 1.8 and Azure table and blob storage. Azure SDK 1.8 is scheduled to be "retired" November 12, 2015.
Will Azure SDK retirement stop my app from working after November 12, 2015?
What is the relationship between Azure SDK version number and and Azure Storage Version date?
What is the difference between Azure SDK retirement and Azure Storage version removal? (I get that the version removal means it won't be there to use. Does retirement mean it just won't be supported anymore but will keep working?)
Update Question: How does Azure SDK relate to "Azure Storage Client"?
What version of my Azure SDK v1.8 maps to which version of the azure storage client?
I THINK that the SDK will keep working, and that the storage service version being retired is too old to affect me, but I'd like to be sure.
Azure SDK version retirement dates are https://msdn.microsoft.com/en-us/library/azure/dn479282.aspx
Version: 1.8/October 2012
Release Date: October 2012
Retirement Date: November 12 2015
Microsoft Azure Storage Service Version Removal versions dates are http://blogs.msdn.com/b/windowsazurestorage/archive/2015/10/19/microsoft-azure-storage-service-version-removal-update-extension-to-2016.aspx
Version 2009-07-17 and prior Azure storage versions will be turned off
and will quit working.
UPDATE:
I also found this handy "Azure Storage Client" version to Azure protocol Version chart
https://msdn.microsoft.com/en-us/library/azure/dn744252.aspx
Storage Client Underlying REST
Library Version Protocol Version
------- --------
1.7 2011-08-18
2.x 2012-02-12
3.x 2013-08-15
4.x 2014-02-14
5.x 2015-02-21
6.x 2015-04-05
UPDATE:
Following this link
https://azure.microsoft.com/en-us/documentation/articles/cloud-services-guestos-update-matrix/
I found this chart
GUEST OS FAMILY SDK VERSIONS SUPPORTED
4 Version 2.1 and later
3 Version 1.8 and later
2 Version 1.3 and later
1 Version 1.0 and later
The "Cloud Services Guest OS Update Matrix" also has some scary charts that show "Disable Date" and "Expiration Dates" which indicate everything is expired (as of today 11/6/2015) prior to Guest OS 4.19. This makes no sense to me.
I sure would like to see an "Azure SDK" to "Storage Client Library" version table.
UPDATE: 12/3/2015
It kept working. According to this azure storage blog entry, it looks like the retirement date has been pushed off to next summer.
We will delay the removal date for some REST API versions and impacted
client libraries. This includes all REST endpoints starting version
2009-07-17 and earlier. The effective date for this service removal is
August 1st, 2016.
There has been some change of plans regarding the version removal. Based on the blog post by Azure Storage team, version 2009-07-17 will now retire on August 1, 2016. Please see this blog post for more details: http://blogs.msdn.com/b/windowsazurestorage/archive/2015/10/19/microsoft-azure-storage-service-version-removal-update-extension-to-2016.aspx.
Regarding the relationship between Azure SDK and Azure Storage Version, as such there's two things to consider:
Storage Client library that gets shipped with SDK.
Storage emulator that gets shipped with SDK.
By default, a SDK version will use a particular version of the library however you're free to upgrade or downgrade the storage client library as per your requirements. Earlier there used to be some dependencies between storage client library and other components of SDK (a good example would be Azure Diagnostics) but not any more.
A storage emulator is again tied to a version of storage client library. Unfortunately if you want to use the storage emulator, then you must use the storage client library it supports. For example, you can't use storage client library version 6 and storage emulator version 4. If you want to use the latest version, and the emulator doesn't support it then you must do all your development against actual cloud storage.
Azure Storage is managed by a REST API and this API is versioned where each new version offers some improvements over the previous versions (and at times remove or change the functionality offered in the previoud version). When they say "Version Removal" essentially what is meant is that particular version of Storage REST API won't be supported. What that also means is that any client library that is tied to that particular REST API version will also stop working.
UPDATE
To answer your specific questions:
Will Azure SDK retirement stop my app from working after November 12,
2015?
Honestly, I don't know (but I will be very curious to know). Each SDK is targeted for specific Guest OS version. From this link (https://azure.microsoft.com/en-us/documentation/articles/cloud-services-guestos-update-matrix/), I gather that SDK 1.8 targets Guest OS Family 3. If you're targeting a specific Guest OS version in your application (please check service configuration file and service for the target OS version) and if that version is set to disabled (and subsequently expire), then I think it would break your application.
What is the relationship between Azure SDK version number and and
Azure Storage Version date?
By default, a SDK version will use a particular version of the library however you're free to upgrade or downgrade the storage client library as per your requirements. Earlier there used to be some dependencies between storage client library and other components of SDK (a good example would be Azure Diagnostics) but not any more.
What is the difference between Azure SDK retirement and Azure Storage
version removal? (I get that the version removal means it won't be
there to use. Does retirement mean it just won't be supported anymore
but will keep working?)
Honestly, I don't know. Sorry!
Update Question: How does Azure SDK relate to "Azure Storage Client"?
What version of my Azure SDK v1.8 maps to which version of the azure
storage client?
Azure SDK 1.8 makes use of Storage Client Library 2.0 (from SDK 1.8 release notes) and Storage Client Library 2.0 targets REST API Version 2012-02-12 (from Protocol Version Support for .NET Client Library Versions)
You can also check the version of storage client library by going into ref directory in your Azure SDK installation directory.
Related
I am thinking about using Pulumi for Azure and was curious how up to date the API support is. I checked the storage account as an example.
Pulumi: API Version 2021-02-01
latest version according to Microsoft docs: API version 2022-09-01
Isn't that an issue? How fast is Pulumi in adding features from new API versions?
Pulumi automatically generates new SDK versions that are always up to date with the Azure APIs. So even though the documentation you linked might not show the newest version, the SDK already supports it.
https://www.pulumi.com/blog/full-coverage-of-azure-resources-with-azure-native/
Unlike the classic Azure provider, which requires manual work to keep updated, we designed the native provider to stay always up-to-date with Azure API additions and changes. We generate Pulumi SDKs for the native Azure provider automatically from Azure API specifications published by Microsoft. We publish daily builds of the provider and have published 210 versions of the provider in the last six months.
You can find the sources for the API version you mentioned on GitHub: https://github.com/pulumi/pulumi-azure-native/tree/master/sdk/dotnet/Storage/V20220901
there are some code using v12 and some with v2.1.
and its very confusing sometimes.
this is with v2.1
block_blob_service = BlockBlobService(account_name=ACCOUNT_NAME, account_key=ACCOUNT_KEY)
and this one is with v12
blob_service_client = BlobServiceClient.from_connection_string(self.connection_string)
You should not be using version 2.1 as it is the legacy version of the SDK. You should always be using the latest version of the SDK (12.x at the time of writing this answer) as it will have support for all the new features Azure Blob Storage has to offer.
Though not recommended but the only reason one would want to use version 2.1 of the SDK if there's a need to have single SDK for managing all Azure Storage resources - Blobs, Files, Queues and Tables. With version 12, each resource type has a dedicated SDK.
I wanted to install Azure 2.5 SDK for VS 2013 and that required updating VS 2013 to Update 3 or later. Update 4 was the recommended one so I installed it. Azure 2.5 SDK installation still broke at the same spot. When I checked about dialog in VS 2013 it said that my current version is 12.0.31101.00 Update 4 but my Extensions and Updates feature still offers me Update 4. When I select this update,Extensions and Updates window says that my current version is 12.0.21005.1 and new version will be the one mentioned above, 12.0.31101.00. Anyone had this kind of issue? Should I install some other version of Azure SDK?
Azure SDK 2.5.1 was released in March 2015. Along with support for Visual Studio 2015 Update 4 this release also updated the SDK for recent changes in the Azure Platform:
Azure Websites was renamed to Azure App Service.
Azure API Apps (Preview) support has been added.
The Websites node in Server Explorer has been deprecated.
Azure Mobile Apps (Preview) support has been added
Add > Azure API App Client gesture now supports local Swagger JSON files
Web App and API App publishing dialogs have been enhanced
Azure API App Server Explorer nodes provide links to the API Apps
There are a few known issues, so make sure you read those before you jump in.
As a Microsoft Azure services client, I received earlier today the following mail: http://aka.ms/Qga48e.
I was wondering how I could migrate my Blob storage without services disruption to use the latest Azure File Storage service.
Anybody has already performed this action? Any feedbacks will be welcomed.
Thanks.
I don't think that it would be necessary. Besides Azure Blob Service and Azure File Service serve different purposes all together and the things you could do with blob service can't be done through file service.
As mentioned in the newsletter, what you should try to do is upgrade your client applications to make use of latest version of storage client library. If you're using an older version of library (< 2.0), there would be some pain in migration but migrating from 2.0 to 4.x (currently latest version) should be rather painless.
Next thing you should look into is the default service version of your storage account services. If you're using .Net storage client library, you can fetch it via GetServicePropertiesAsync method. You can update the default service version using SetServicePropertiesAsync method.
You may also find this link helpful about understanding storage service versioning: http://msdn.microsoft.com/en-us/library/azure/dd894041.aspx.
UPDATE: 13-DEC-2014
Azure Storage Team has published a blog post which talks more about this issue: http://blogs.msdn.com/b/windowsazurestorage/archive/2014/08/05/microsoft-azure-storage-service-version-removal.aspx.
The Storage Service REST API is not being removed. There are several versions of the API, from over the years. Older versions of the REST API (prior to the 2012-02-12 version) are being retired. But it's definitely not going away, and neither is the Azure Storage service.
Different versions of the SDKs (across the various language stacks) and command-line tools (PowerShell, CLI) may be using one of the older versions. If you're using the current versions of SDKs and command-line tools, this has no effect on you.
Consider how many versions there have been (all tracked here, and all listed in the page you linked to in your answer:
2014-02-14 (current)
2013-08-15
2012-02-12
2011-08-18
2009-09-19
2009-07-17
2009-04-14
If you're using an older version of an SDK or command-line tool, there's a chance that, in Dec. 2015, it won't work as expected anymore, as the underlying version will have been retired. So, essentially you have until December 2015 to update your Azure projects if needed.
I wanted to follow the guidance of “Windows Azure Storage and CORS” but I notice that my version of the Windows Azure SDK (2.1) does not have the members (like ServiceProperties .Cors) used in the article. I also notice that the documented members of ServiceProperties do not include Cors. Was this stuffed removed from the codebase or is this stuff so new that it is not documented yet? Is this CORS stuff in a future version of the SDK? Or do I have to use the REST API?
Storage Client Library (version 2.x) which comes with SDK 2.1 does not have support for CORS. It is supported in Storage Client Library version 3.x. So if you want to manage CORS settings, you would need to use that library. You can download this library through Nuget: http://www.nuget.org/packages/WindowsAzure.Storage. You could always use REST API if you want to.
However, please keep in mind that SDK 2.1 is not compatible with version 3.x of storage client library. What that means is that if you use 3.x version of storage client library in your project you won't be able to use storage emulator. You would always need to connect to cloud storage account for development.
Windows Azure Blobs, Tables and Queues now support CORS to enable users to access/manipulate resources from within the browser serving a web page in a different domain than the resource being accessed.
http://msdn.microsoft.com/en-us/library/windowsazure/dn535601.aspx