【问题标题】:Firebase Storage remove custom metadata keyFirebase 存储删除自定义元数据键
【发布时间】:2020-08-25 22:46:20
【问题描述】:
我无法从 Firebase 存储中的文件中删除自定义元数据键。
这是我迄今为止尝试过的:
blob = bucket.get_blob("dir/file")
metadata = blob.metadata
metadata.pop('custom_key', None) # or del metadata['custom_key']
blob.metadata = metadata
blob.patch()
我也尝试将其值设置为None,但没有帮助。
【问题讨论】:
标签:
python-3.x
google-cloud-storage
firebase-storage
【解决方案1】:
似乎有一些原因可能会影响您删除自定义元数据。我会逐一讲,这样更容易理解。
首先,当您使用blob.metadata 读取元数据时,它似乎只以只读形式返回——正如here 所阐明的那样。因此,使用您尝试的方式,您的更新将无法按照您的意愿工作。第二个原因,似乎将元数据再次保存回blob,其顺序与您尝试的顺序不同 - 如here所示。
您可以使用以下代码尝试一下:
blob = bucket.get_blob("dir/file")
metadata = blob.metadata
metadata.pop{'custom_key': None}
blob.patch()
blob.metadata = metadata
虽然此代码未经测试,但我相信它可能会帮助您更改订单并避免blob.metadata 只读情况。
如果这对您没有帮助,我建议您在官方Github repository 中针对 Cloud Storage 上的 Python 库提出问题,以便开发人员进一步澄清。