1

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

我们discussed关于问题跟踪器,它在执行过程中出现了一个“错误”,或者至少在某种程度上使用户无法防范。

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

blob.metadata['Color'] = 'Pink' 

突变所导致,当它实际上并没有改变存储在blob的元数据。

目前的 “修复” 是刚刚建立

metadata = {'Color': 'Pink'} 
blob.metadata = metadata 
相关问题