我正在使用 Apache Libcloud 将文件与对象元数据一起上传到 Google Cloud Storage 存储桶。
在此过程中,我的元数据字典中的键被小写。我不确定这是由于 Cloud Storage 还是发生在 Libcloud 中。
可以按照Libcloud 文档中的示例重现该问题:
from libcloud.storage.types import Provider
from libcloud.storage.providers import get_driver
cls = get_driver(Provider.GOOGLE_STORAGE)
driver = cls('SA-EMAIL', './SA.json') # provide service account credentials here
FILE_PATH = '/home/user/file'
extra = {'meta_data': {'camelCase': 'foo'}}
# Upload with metadata
with open(FILE_PATH, 'rb') as iterator:
obj = driver.upload_object_via_stream(iterator=iterator,
container=container,
object_name='file',
extra=extra)
哪里camelCase
变成了camelcase
。
我不认为 GCS 不允许对象元数据使用驼峰式,因为在这个意义上可以手动编辑元数据:
我浏览了 Libcloud 的源代码,但没有看到任何明确的小写字母。任何关于如何使用 libcloud 上传驼峰元数据的指示都非常受欢迎。