使用gcloud-python在Google云端存储中设置元数据

时间:2015-10-15 09:40:01

标签: python google-cloud-storage gcloud-python google-cloud-python

我正在尝试使用gcloud-python将文件上传到Google云端存储,并设置一些自定义元数据属性。为了尝试这个,我创建了一个简单的脚本。

import os

from gcloud import storage

client = storage.Client('super secret app id')
bucket = client.get_bucket('super secret bucket name')

blob = bucket.get_blob('kirby.png')
blob.metadata = blob.metadata or {}
blob.metadata['Color'] = 'Pink'
with open(os.path.expanduser('~/Pictures/kirby.png'), 'rb') as img_data:        
    blob.upload_from_file(img_data)

我可以上传文件内容。上传文件后,我可以从开发者控制台手动设置元数据并检索它。

我无法弄清楚如何以编程方式上传元数据。

2 个答案:

答案 0 :(得分:5)

我们在问题跟踪器上TWRP recovery,它在实施过程中出现了“错误”,或者至少让用户措手不及。

通过metadata访问blob.metadata是只读的。因此,当通过

改变结果时
blob.metadata['Color'] = 'Pink'

它实际上并未更改blob上存储的元数据。

目前的“修复”只是建立

metadata = {'Color': 'Pink'}
blob.metadata = metadata

答案 1 :(得分:0)

blob.content_disposition = "attachment"
blob.patch()