Skip to content
This repository has been archived by the owner on Aug 1, 2024. It is now read-only.

Azure/azure-storage-net

Microsoft Azure Storage SDK for .NET (Deprecated)

If you would like to access our latest .NET SDK, please refer to the Storage SDK v12 for .NET link in the table below. If you would like more information on Azure's burgeoning effort to coordinate the development of the SDKs across services, of which this change is a part, please refer to this article.

We will continue to respond to issues here, but prefer that you post them on the v12 repo. Thank you for your patience. We look forward to continuing to work together with you.

SDK Name Version Description NuGet/API Reference Links
Blob Storage SDK v12 for .NET v12.0.0 The next generation Blob Storage SDK. Supports sync and async IO. NuGet - Reference
File Storage SDK v12 for .NET 12.0.0-preview.5 The next generation File Storage SDK. Supports sync and async IO. NuGet - Reference
Queue Storage SDK v12 for .NET v12.0.0 The next generation Queue Storage SDK. Supports sync and async IO. NuGet - Reference
Data Lake Storage SDK v12 for .NET 12.0.0-preview.6 The next generation Data Lake Storage SDK. Supports sync and async IO. NuGet

For more details, please visit the proper location for each repo.

Support Statement

  • We will be making only fixes related data integrity and security for 11.x.
  • We will not be adding new storage service version support for this SDK.
  • We will not be back porting fixes and features added to the current version to the versions in this repo
  • We will not be making any changes to the performance characteristics of this SDK.

We have engineered a highly performant and scalable SDK with our V12 releases. We encourage all our customers to give it a try.

Microsoft Azure Storage SDK for .NET (11.2.3)

Server Version: 2019-07-07

The Microsoft Azure Storage SDK for .NET allows you to build Azure applications that take advantage of scalable cloud computing resources.

This repository contains the open source subset of the .NET SDK. For documentation of the complete Azure SDK, please see the Microsoft Azure .NET Developer Center.

Note: As of 10.0.0, the namespace has changed to Microsoft.Azure.Storage.Common, .Blob, .File, and .Queue. This is required for some SxS scenarios.

Note: As of 9.4.0, the Table service is not supported by this library.
Table support is being provided by CosmosDB.

Features

  • Blobs (Change Log)
    • Create/Read/Update/Delete Blobs
  • Files (Change Log)
    • Create/Update/Delete Directories
    • Create/Read/Update/Delete Files
  • Queues (Change Log)
    • Create/Delete Queues
    • Insert/Peek Queue Messages
    • Advanced Queue Operations

Getting Started

The complete Microsoft Azure SDK can be downloaded from the Microsoft Azure Downloads Page and ships with support for building deployment packages, integrating with tooling, rich command line tooling, and more.

Please review Get started with Azure Storage if you are not familiar with Azure Storage.

For the best development experience, developers should use the official Microsoft NuGet packages for libraries. NuGet packages are regularly updated with new functionality and hotfixes.

Target Frameworks

  • .NET Framework 4.5.2: As of September 2018, Storage Client Libraries for .NET supports primarily the desktop .NET Framework 4.5.2 release and above.
  • Netstandard1.3: Storage Client Libraries for .NET are available to support Netstandard application development including Xamarin/UWP applications.
  • Netstandard2.0: Storage Client Libraries for .NET are available to support Netstandard2.0 application development including Xamarin/UWP applications.

Requirements

  • Microsoft Azure Subscription: To call Microsoft Azure services, you need to first create an account. Sign up for a free trial or use your MSDN subscriber benefits.
  • Hosting: To host your .NET code in Microsoft Azure, you additionally need to download the full Microsoft Azure SDK for .NET - which includes packaging, emulation, and deployment tools, or use Microsoft Azure Web Sites to deploy ASP.NET web applications.

Versioning Information

Use with the Azure Storage Emulator

  • The Client Libraries use a particular Storage Service version. In order to use the Storage Client Libraries with the Storage Emulator, a corresponding minimum version of the Azure Storage Emulator must be used. Older versions of the Storage Emulator do not have the necessary code to successfully respond to new requests.
  • Currently, the minimum version of the Azure Storage Emulator needed for this library is 5.3. If you encounter a VersionNotSupportedByEmulator (400 Bad Request) error, please update the Storage Emulator.

Download & Install

The Storage Client Libraries ship with the Microsoft Azure SDK for .NET and also on NuGet. You'll find the latest version and hotfixes on NuGet via the Microsoft.Azure.Storage.Blob, Microsoft.Azure.Storage.File, Microsoft.Azure.Storage.Queue, and Microsoft.Azure.Storage.Common packages.

Via Git

To get the source code of the SDK via git just type:

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

Via NuGet

To get the binaries of this library as distributed by Microsoft, ready for use within your project you can also have them installed by the .NET package manager: Blob, File, Queue.

Please note that the minimum NuGet client version requirement has been updated to 2.12 in order to support multiple .NET Standard targets in the NuGet package.

Install-Package Microsoft.Azure.Storage.Blob
Install-Package Microsoft.Azure.Storage.File
Install-Package Microsoft.Azure.Storage.Queue

The Microsoft.Azure.Storage.Common package should be automatically entailed by NuGet.

Dependencies

Newtonsoft Json

The libraries depend on Newtonsoft.Json, which can be downloaded directly or referenced by your code project through Nuget.

Key Vault

The client-side encryption support depends on the KeyVault.Core package, which can be downloaded directly or referenced by your code project through Nuget.

Test Dependencies

FiddlerCore

FiddlerCore is required by:

  • Test\FaultInjection\HttpMangler
  • Test\FaultInjection\AzureStoreMangler
  • Microsoft.Azure.Storage.Test.NetFx
  • Microsoft.Azure.Storage.Test.NetCore2

This dependency is not included and must be downloaded from Telerik.

Once obtained:

  • Copy FiddlerCore.dll to Test\FaultInjection\Dependencies\DotNet2
  • Copy FiddlerCore4.dll to Test\FaultInjection\Dependencies\DotNet4

Key Vault

Tests for the client-side encryption support also depend on KeyVault.Extensions, which can be downloaded directly or referenced by your code project through Nuget.

ActiveDirectory

OAuth testing requires the ActiveDirectory identity model also available via NuGet:

Code Samples

How-Tos focused around accomplishing specific tasks are available on the Microsoft Azure .NET Developer Center.

Need Help?

Be sure to check out the Azure Community Support page if you have trouble with the provided code or use StackOverflow.

Collaborate & Contribute

We gladly accept community contributions.

  • Issues: Please report bugs using the Issues section of GitHub
  • Forums: Interact with the development teams on StackOverflow or the Microsoft Azure Forums
  • Source Code Contributions: Please see CONTRIBUTING.md for instructions on how to contribute code.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

For general suggestions about Microsoft Azure please use our UserVoice forum.

Learn More