Cross-platform Azure Blob Storage emulator, written in Go. Tries to be somewhat compatible with the official emulator.
Portions of this code are based off of the Azure SDK for Go, which is licensed under the Apache License.
This is intended to only be an emulator, for development purposes. You shouldn't actually use it in production, as it is not very secure/scalable. (has a fixed secret key, doesn't have any way of setting permissions on blobs/containers, no metadata, and more)
It's also not a very accurate emulator (the response bodies are not the same as the XML that real Azure storage responds with, mainly because it's not documented very well by Microsoft)
- GET a container (list its blobs)
- PUT a container (create it)
- GET a blob (but all blobs are assumed to be private)
- PUT a block blob, block, or block list (except block lists support only includes
Uncommitted
blocks) - DELETE a blob
- Authentication with an
Authorization
header or a Service SAS
- Append or page blobs
- Basically every other Blob API call
- Using an Account SAS
- Queue and Table storage