Azure / Azure/Azurite

Unable to upload Blob metadata with Go SDK

Open
#591 5 comments 0 reactions 1 assignee Claimed by @Poku8 View on GitHub
blob-storage investigation NewArch stale
Dominant language
TypeScript
Stars
2.3k
Forks
393
Avg merge
1d 20h
Merged PRs (30d)
36

Description

### Which service(blob, file, queue, table) does this issue concern?
Blob
### Which version of the Azurite was used?
3.8.0

### Where do you get Azurite? (npm, DockerHub, NuGet, Visual Studio Code Extension)
Tried on npm and Docker
### What's the Node.js version?
12.15.0
### What problem was encountered?
Downloading blob metadata always results in nil map for [Go SDK](https://github.com/Azure/azure-storage-blob-go), even though the blob was uploaded with one. Running an equivalent code using Python SDK works on the same environment. Running the Go code against Azure blob storage works.

This could either be a problem in Go SDK for Azurite. I currently believe the bug lies with Azurite as using Go SDK against real Azure blob store works as expected and Azurite should behave the same as Azure storage.

When Python code is run, azurite_db_blob.json shows the metadata file is correctly stored. This is not the case when running Go code. From this I believe the issue lies with uploading metadata. Looking at the debug logs, request sent from Go does include the correct header for the metadata and HandlerMiddleware does include correct metadata in its deserialized parameters.

### Steps to reproduce the issue?
See sample go and python [code](https://github.com/Azure/Azurite/files/5324449/repro.zip) attached. Both program uploads a blob with metadata then tries to print the metadata. Python code should work. Go code should not.

### Have you found a mitigation/solution?
None.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.