-
Notifications
You must be signed in to change notification settings - Fork 3.2k
Description
If one runs the following program:
from azure.storage import BlobService
service = BlobService()
service.set_blob_metadata('test', 'pageblob', {'FoO': 'Bar'})
blobs=service.list_blobs('test', prefix='pageblob', include='metadata')
print "metadata from list_blobs"
for (m, v) in blobs[0].metadata.iteritems():
print "%s: metadata[%s]=%s\n" % (blobs[0].name, m, v)
print "metadata from get_blob_metadata"
for (m, v) in service.get_blob_metadata('test','pageblob').iteritems():
print "%s: metadata[%s]=%s\n" % ('pageblob', m, v)
the output is:
metadata from list_blobs
pageblob: metadata[FoO]=Bar
metadata from get_blob_metadata
pageblob: metadata[x-ms-meta-foo]=Bar
Not only the result is not coherent (x-ms-meta-foo vs foo), but it also returns the metadata name in lower case.
I've not seen anything saying that upper cases are forbidden for metadata name and from a quick look, I've not noticed how it gets lowered. So, I don't even know where the issue is (request result from windows azure or in the python code).
Any idea about how to fix this bug ?