Azure SDKs

These software development kits (SDKs) are actively developed by the Microsoft Azure team in collaboration with our open source community and the .NET Foundation.

Together we are dedicated to creating the best possible experience for developers who are creating amazing experiences built on the world-class infrastructure, platforms and frameworks that make up Microsoft Azure.

.NET

It is only natural for us to lead with .NET. If you are a .NET developer, then these projects are where you will start to build great applications on Azure.

Azure Management SDK

The Azure Management SDK provides a set of libraries, which simplify the tasks of creating, updating, deleting and accessing Azure resources via Azure Resource Manager and Azure Service Management.

Storage

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

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

Internet of Things (IoT) Hub

Contains both IoT device SDKs and IoT service SDKs. Device SDKs enable you connect client devices to Azure IoT Hub. Service SDKs enable you to manage your IoT Hub service instance.

Visit http://azure.com/iotdev to learn more about developing applications for Azure IoT.

DocumentDB

Samples and utilities relating to the Azure DocumentDB SDK

Media services

Azure Media Services allows you to build a media distribution solution that can stream audio and video to Windows, iOS, Android, and other devices and platforms.To learn more, visit our Developer Center.

Mobile Apps Client

The Azure Mobile Apps Client SDK allows you to develop connected mobile clients with Universal Windows and Xamarin apps. To learn more, visit our Learning Path.

Mobile Apps Server

Azure Mobile Apps Servers provide simplified OData access with offline sync support, push registration and built-in authentication capabilities. It allows you to run a mobile-optimized backend on Azure App Service. Learn more about Learning Path to learn more.

ASP.NET Redis Providers

Azure Redis Cache provides a session state provider that you can use to store your session state in a cache rather than in-memory or in a SQL Server database. To use the caching session state provider, first configure your cache, and then configure your ASP.NET application for cache using the Redis Cache Session State NuGet package.

AutoRest

The AutoRest tool generates client libraries for accessing RESTful web services. Input to AutoRest is a spec that describes the REST API using the Swagger format.

AutoRest powers the code generation of the Azure management libraries in C#, Java, Node.js, Python, Ruby and Golang.

Connect the Dots

ConnectTheDots.io is an open source project created by Microsoft to help you get tiny devices connected to Microsoft Azure, and to implement great IoT solutions taking advantage of Microsoft Azure advanced analytic services such as Azure Stream Analytics and Azure Machine Learning.

DotNetty

DotNetty is a port of Netty, asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients.

WebJobs

The Azure WebJobs SDK is a framework that simplifies the task of writing background processing code that runs in Azure. The Azure WebJobs SDK includes a declarative binding and trigger system that works with Azure Storage Blobs, Queues and Tables as well as Service Bus. The binding system makes it incredibly easy to write code that reads or writes Azure Storage objects. The trigger system automatically invokes a function in your code whenever any new data is received in a queue or blob.

The related repo azure-webjobs-sdk-extensions demonstrates the extensibility model of the SDK and contains many useful trigger/binder extensions (e.g. WebHooks, SendGrid, Timer/Cron, Files), as well as samples showing how to use/create SDK extensions.

AMQP 1.0 Client Library

AMQP.Net Lite is a lightweight AMQP 1.0 client library for the .Net Micro Framework, .Net Compact Framework, .Net Framework, and Windows Runtime platforms.

Java

Get started with Azure quickly with a projects that help to take some of the complexity out of developing applicaitons built on Java within Azure.

Azure Management SDK

The Azure Management SDK provides a set of libraries, which simplify the tasks of creating, updating, deleting and accessing Azure resources via Azure Resource Manager and Azure Service Management.

Storage

This project provides a client library in Java that makes it easy to consume Microsoft Azure Storage services. For documentation please see the Microsoft Azure Java Developer Center.

Storage Android

This project provides a client library for Android that makes it easy to consume Microsoft Azure Storage services.

Internet of Things (IoT) Hub

Contains both IoT device SDKs and IoT service SDKs. Device SDKs enable you connect client devices to Azure IoT Hub. Service SDKs enable you to manage your IoT Hub service instance.

Visit http://azure.com/iotdev to learn more about developing applications for Azure IoT.

DocumentDB

This project provides a client library in Java that makes it easy to interact with Azure DocumentDB.

DocumentDB Hadoop Connector

Provides a client library in Java that allows Microsoft Azure DocumentDB to act as an input source or output sink for MapReduce, Hive and Pig jobs.

Notification Hubs

Java Back-end SDK for Microsoft Azure Notification Hubs.

Implements most of the Notification Hubs REST operations to perform Hub CRUDs, registration/installation management and send notification.

AppServices Remote Debugging

Remotely debug your Java applications running on Azure AppServices.

IotHubReact

IoTHub React is an Akka Stream library that can be used to read data from Azure IoT Hub, via a reactive stream with asynchronous back pressure. Azure IoT Hub is a service used to connect thousands to millions of devices to the Azure cloud.

Kafka Connect for Azure IoT Hub

Kafka Connect for Azure IoT Hub is a Kafka source connector for pumping data from Azure IoT Hub to Apache Kafka. This allows getting the telemetry data sent by Azure IoT Hub connected devices to your Kafka installation, so that it can then be consumed by Kafka consumers down the stream.

JavaScript

Is JavaScript your language of choice, then these project are for you. Azure's Node.js and Javascript libraries will help to make you more productive developing applicaitons on Azure.

Azure Management SDK

The Azure Management SDK provides a set of libraries, which simplify the tasks of creating, updating, deleting and accessing Azure resources via Azure Resource Manager and Azure Service Management.

Storage

Provides a Node.js package that makes it easy to consume and manage Microsoft Azure Storage Services.

DocumentDB Node

Provides a node module that makes it easy to interact with Azure DocumentDB.

DocumentDB JavaScript

DocumentDB is a purpose built NoSQL JSON document database designed for modern mobile and web applications. DocumentDB supports rich queries over JSON data as well as, transactional execution of JavaScript based application logic. DocumentDB is built with a deep commitment to the JSON data model enabling it to offer differentiated query and data processing capabilities that scale to meet the needs of the most demanding modern applications.

DocumentDB Server-Side JavaScript

DocumentDB’s language integrated, transactional execution of JavaScript supports stored procedures, triggers and user defined functions (UDFs) written natively in JavaScript. This allows developers to write application logic which can be shipped and executed directly on the database storage partitions. JavaScript support at the server side has a number of intrinsic advantages that can be utilized to build rich applications.

DocumentDB Q Promises Wrapper

Provides a node module that makes it easy to interact with Azure DocumentDB via q promises.

Mobile Apps for JavaScript

Azure Mobile Apps allows you to develop cloud-connected apps with an Azure Mobile Apps backend. This client supports JavaScript applications. To learn more, see our our documentation.

Mobile Apps for Cordova

Azure Mobile Apps allows you to develop cloud-connected apps with an Azure Mobile Apps backend. This client supports Apache Cordova applications. To learn more, see our our documentation.

Internet of Things (IoT) Hub

Contains both IoT device SDKs and IoT service SDKs. Device SDKs enable you connect client devices to Azure IoT Hub. Service SDKs enable you to manage your IoT Hub service instance.

Visit http://azure.com/iotdev to learn more about developing applications for Azure IoT.

Kubernetes Visualizer

The demo application helps you visualize what is happening in your Kubernetes cluster by showing you where all of your workloads are being run. This both helps with understanding kubernetes, as well as visually demonstrating how its' scheduler works.

Python

If you are a pythonista, then these are the projects for you. These projects will help you unlock the power of Azure via Python powered applications and scripts.

Azure Management SDK

The Azure Management SDK provides a set of libraries, which simplify the tasks of creating, updating, deleting and accessing Azure resources via Azure Resource Manager and Azure Service Management.

Storage

Provides a client library in Python that makes it easy to consume Microsoft Azure Storage services.

DocumentDB

Python driver for Microsoft Azure DocumentDB

Machine Learing Client

Azure Machine Learning Python client library lets you access your Azure ML datasets from your local Python environment.

You can download datasets that are available in your ML workspace, or intermediate datasets from experiments that were run. You can upload new datasets and update existing datasets. The data is optionally converted to/from a Pandas DataFrame.

Linux Extensions for Microsoft Azure IaaS

Provides the source code of Linux extensions for Microsoft Azure IaaS. VM Extensions are injected components authored by Microsoft and Partners into Linux VM (IaaS) to enable software and configuration automation.

Microsoft Azure Linux Agent

The Microsoft Azure Linux Agent (waagent) manages Linux & FreeBSD provisioning, and VM interaction with the Azure Fabric Controller.

Ruby

When you see .rb in a project, does that get you hyped. Here are some projects that will help you to be more productive on Azure.

Azure Management SDK

The Azure Management SDK provides a set of libraries, which simplify the tasks of creating, updating, deleting and accessing Azure resources via Azure Resource Manager and Azure Service Management.

Storage

Provides a Ruby package that makes it easy to access and manage Microsoft Azure Storage Services.

Vagrant Azure

Enable Vagrant to manage virtual machines in Microsoft Azure

Golang

Calling all gophers... This area is definitely for you. If so, Here are some projects to help you to be successful on Azure.

Azure Management SDK

The Azure Management SDK provides a set of libraries, which simplify the tasks of creating, updating, deleting and accessing Azure resources via Azure Resource Manager and Azure Service Management.

Packer Azure

Packer is an open source tool for creating identical machine images for multiple platforms from a single source configuration. This is an Azure plugin for Packer.io to enable Microsoft Azure users to build custom images given an Azure image.

Azure Docker Extension

Docker VM Extension for Microsoft Azure

Docker Volume Driver for Azure File Service

This is a Docker Volume Driver which uses Azure Storage File Service to mount file shares on the cloud to Docker containers as volumes. It uses network file sharing (SMB/CIFS protocols) capabilities of Azure File Service.

Scala

Get started with Azure quickly with a projects that help to take some of the complexity out of developing applications built on Scala within Azure.

IotHubReact

IoTHub React is an Akka Stream library that can be used to read data from Azure IoT Hub, via a reactive stream with asynchronous back pressure. Azure IoT Hub is a service used to connect thousands to millions of devices to the Azure cloud.