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.
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
I am trying to properly install Azure SDK, reference it and build an application based on it.
Firstly, I am not sure if I need to install Azure SDK on top of what comes with Visual Studio 2015.
Secondly, when I visit the following url, I fall into a "rabbit hole":
https://azure.microsoft.com/en-us/documentation/articles/dotnet-sdk/
… it refers me to a bunch of fragmented installs here:
https://azure.microsoft.com/en-us/downloads/
…. When I choose “Client libraries” in above url I get the following options: more than 100 of them!! :
https://www.nuget.org/packages?q=windowsazureofficial
My application needs to use Azure Service Bus and Azure storage. How do I determine what exactly is required and what is the best way to find and install them?
With a number of fragmented packages, I think there should be a flow chart help me to determine the packages required.
Thank you,
i would suggest you to use Web Platform Installer instead of direct download this-and-that package. WPI is much more convenient, and it installs everything needed.
For Azure SB, you will need NuGet package.
For Azure Storage, if you need to test it against your local storage first instead of trying to connect to the Azure one, you can install Azure SDK using Web Platform Installer - it will install you the Azure Storage Emulator. Details.
Azure SDK, however, is a very useful piece of software when developing for the Azure.
My application needs to use Azure Service Bus and Azure storage. How
do I determine what exactly is required and what is the best way to
find and install them?
If all you need is client libraries for Azure Service Bus and Azure Storage, you can download appropriate Nuget packages from here:
Azure Storage: http://www.nuget.org/packages/WindowsAzure.Storage/
Azure Service Bus: http://www.nuget.org/packages/WindowsAzure.ServiceBus/
If there're other packages you would need, simply search for those on Nuget's website. For example, if I need Azure AD .Net library, I would simply search for Azure Active Directory.
For Azure Storage, there's a local storage emulator that gets installed along with the SDK. However you can download just the storage emulator from here: https://azure.microsoft.com/en-us/downloads/?sdk=net (search for Azure Storage Emulator on this page).
Please note that there's no local service bus emulator at this point of time.
A Note About SDK
Azure SDK is pretty comprehensive (so is Azure) and includes tools and libraries for you to build and manage different kinds of applications that can be deployed in Azure. As Alex mentioned in his answer, going down Web Platform Installer is the easiest as it installs everything for you that is included in the SDK.
However you can also pick the components of SDK based on your project's requirements and install them individually. For example, when you go to this link: https://www.microsoft.com/en-us/download/details.aspx?id=51657, you will see all the components that constitute SDK 2.9. On this page, when you click download button you will be able to select components that want to download based on your project's requirements.
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.
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
The Windows Azure Storage package comes with a truckload of dependencies, including improbable libraries such as System.Spatial. I only intend to use the Blob Storage, which should represent about 5% of this package. Is there any stand-alone library available to do this?
You could always make direct REST API calls, as the storage API is well-documented. This is about as lightweight as you're going to get. There is no other official .net Azure SDK other than the one you referenced. I don't know of any 3rd-party .net SDKs available.