|

|  How to Use Microsoft Azure Storage API to Upload Files in .NET

How to Use Microsoft Azure Storage API to Upload Files in .NET

October 31, 2024

Learn to upload files to Microsoft Azure Storage using .NET. This guide covers API integration, coding examples, and best practices for seamless file management.

How to Use Microsoft Azure Storage API to Upload Files in .NET

 

Overview of Using Azure Storage API in .NET

 

  • Azure Storage API provides a robust way for .NET applications to store, access, and manage files in scalable cloud storage such as Blob storage.
  •  

  • It supports various storage types, including Blob, Queue, Table, and File storage.

 

 

Install Azure Storage SDK

 

  • Before you can interact with Azure Storage, you need the Azure.Storage.Blobs or Azure.Storage.Files.Shares package installed in your .NET project.
  •  

  • This can be done via the NuGet Package Manager in Visual Studio or using the .NET CLI.

 

dotnet add package Azure.Storage.Blobs

 

 

Setting Up the Client

 

  • Create a BlobServiceClient instance, which allows you to manipulate Azure Blob storage resources.
  • You’ll need a connection string, which you can get from your Azure portal for the storage account you are using.

 

string connectionString = "<your_connection_string>";
BlobServiceClient blobServiceClient = new BlobServiceClient(connectionString);

 

 

Uploading a File

 

  • The file upload process involves selecting a container in your Blob storage and then uploading the file to this container.
  •  

  • Use the CreateBlobContainerAsync method to create or access a specific container in your Blob storage.
  •  

  • Then, use the BlobClient.UploadAsync method to upload the file to Azure Blob storage.

 

string containerName = "sample-container";
BlobContainerClient containerClient = await blobServiceClient.CreateBlobContainerAsync(containerName);

string fileName = "example.txt";
BlobClient blobClient = containerClient.GetBlobClient(fileName);

using FileStream uploadFileStream = File.OpenRead(fileName);
await blobClient.UploadAsync(uploadFileStream, true);
uploadFileStream.Close();

 

 

Handling Errors

 

  • Azure SDK provides extensive error handling capabilities. You may add try-catch blocks to catch any exceptions thrown during the upload or other processes.
  •  

  • Ensure proper logging and exception management strategies are implemented to handle outages and issues gracefully.

 

try
{
    await blobClient.UploadAsync(uploadFileStream, true);
}
catch (RequestFailedException ex)
{
    Console.WriteLine($"Error code: {ex.ErrorCode}");
    Console.WriteLine($"Exception Message: {ex.Message}");
}

 

 

Conclusion

 

  • Utilize the Azure.Storage.Blobs package in your .NET applications to easily and efficiently interact with Azure blob storage resources.
  •  

  • Explore advanced features and optimizations like asynchronous operations, SAS tokens, and retry policies for production-ready applications.