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 
相關問題