2013-04-05 39 views
3

我想標記我上傳到S3的密鑰。在下面,我只是從一個字符串創建一個文件。一旦我有他們的鑰匙,我不知道如何標記文件。我已經嘗試了Tag以及TagSet。如何將標籤添加到boto(Amazon S3)中的某個密鑰?

from boto.s3.bucket import Bucket 
from boto.s3.key import Key 
from boto.s3.tagging import Tag, TagSet 

k = Key(bucket) 
k.key = 'foobar/somefilename' 
k.set_contents_from_string('some data in file') 

Tag(k, 'the_tag') 

回答

2

至於我可以在文檔中看到,一個setTags-method僅在一個桶水平,而不是個別鍵可用。因此,您無法爲上傳的文件設置不同的標籤,但您必須在包含的存儲桶上執行此操作。

+0

這是正確的。 S3僅支持存儲桶級別的標籤,而不支持單個對象。這些標記主要用於成本分配和跟蹤,如http://docs.aws.amazon.com/awsaccountbilling/latest/about/getbill.html#allocation中所述 – garnaat 2013-04-05 11:31:47

2

雖然S3「標籤」僅位於存儲桶級別,但存儲桶中的每個關鍵字都可以具有與其關聯的任意「元數據」,這些關鍵字對本身就是關鍵值對。請參閱boto documentation

k.set_metadata('key', 'value') 
value = k.get_metadata('key') # prints 'value' 
相關問題