Unable to upload Blob metadata with Go SDK
- 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.