Skip to content
Microsoft Azure Blob Storage Library for Go
Branch: master
Clone or download

README.md

Azure Storage Blob 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 Blob SDK for Go. The File SDK and Queue SDK are also available.

Features

  • Blob Storage
    • Create/List/Delete Containers
    • Create/Read/List/Update/Delete Block Blobs
    • Create/Read/List/Update/Delete Page Blobs
    • Create/Read/List/Update/Delete Append Blobs

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 github.com/Azure/azure-storage-blob-go/azblob
    • Dep: add github.com/Azure/azure-storage-blob-go to Gopkg.toml:
      [[constraint]]
        version = "0.3.0"
        name = "github.com/Azure/azure-storage-blob-go"
      
    • Module: simply import the SDK and Go will download it for you
  • Use the SDK: import "github.com/Azure/azure-storage-blob-go/azblob"

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
2016-05-31 0.2.0 github.com/Azure/azure-storage-blob-go/2016-05-31/azblob
2017-07-29 0.2.0 github.com/Azure/azure-storage-blob-go/2017-07-29/azblob
2018-03-28 0.3.0 - 0.5.0 github.com/Azure/azure-storage-blob-go/azblob
2018-11-09 0.6.0 github.com/Azure/azure-storage-blob-go/azblob

Note: the directory structure of the SDK has changed dramatically since 0.3.0. The different Service Versions are no longer sub-directories; the latest azblob 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, ContainerURL and BlobURL objects provide the low-level API functionality and map one-to-one to the Azure Storage Blob REST APIs
    • The high-level APIs provide convenience abstractions such as uploading a large stream to a block blob (using multiple PutBlock requests).

Code Samples

License

This project is licensed under MIT.

Contributing

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 https://cla.microsoft.com.

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 opencode@microsoft.com with any additional questions or comments.

You can’t perform that action at this time.