Skip to content
Microsoft Azure File Storage Library for Go
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Add issue template. Aug 10, 2018
azfile Update version to 0.4.1. Jan 8, 2019
.travis.yml Aliging the module support for Go SDKs. Jan 8, 2019
Gopkg.lock Aliging the module support for Go SDKs. Jan 8, 2019
Gopkg.toml Aliging the module support for Go SDKs. Jan 8, 2019
LICENSE Inital checkin Feb 7, 2018
go.mod Update module info and read me. Jan 8, 2019

Azure Storage File SDK for Go

GoDoc Widget Build Status

The Microsoft Azure Storage SDK for Go allows you to build applications that takes advantage of Azure's scalable cloud storage.

This repository contains the open source File SDK for Go.


  • File Storage
    • Create/List/Delete Shares
    • Create/List/Delete Directories
    • Create/Read/List/Update/Delete Files

Getting Started

  • If you don't already have it, install the Go distribution
  • Get the SDK, with any method you prefer:
    • Go Get: go get
    • Dep: add to Gopkg.toml:
        version = "0.4.1"
        name = ""
    • Module: simply import the SDK and Go will download it for you
  • Use the SDK: import ""

Version Table

  • If you are looking to use a specific version of the Storage Service, please refer to the following table:
Service Version Corresponding SDK Version Import Path
2017-07-29 0.3.0
2018-03-28 0.4.1+

Note: the directory structure of the SDK has changed dramatically since 0.4.1. The different Service Versions are no longer sub-directories; the latest azfile is directly under the root directory. In the future, each new Service Version will be introduced with a new major semantic version.

SDK Architecture

  • The Azure Storage SDK for Go provides low-level and high-level APIs.
    • ServiceURL, ShareURL, DirectoryURL and FileURL objects provide the low-level API functionality and map one-to-one to the Azure Storage File REST APIs
    • The high-level APIs provide convenience abstractions such as uploading a large stream to an Azure file (using multiple PutRange requests in parallel) or downloading a large Azure file to local (using multiple Get requests in parallel).

Code Samples


This project is licensed under MIT.


This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

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

You can’t perform that action at this time.