2014-01-23 50 views
1

我想獲得在亞馬遜s3存儲桶中有一些前綴的密鑰列表。我按照here所示的步驟操作,但我仍然可以在該桶中使用該前綴獲取密鑰。以下是我試過的代碼。無法提取密鑰在亞馬遜S3存儲桶有一些前綴使用python boto

conn = boto.connect_s3(anon=True) 
bucket = conn.get_bucket('aws-publicdatasets') 
for each_rs in self.bucket.list(prefix="/project_prefix/prefx_key2/prefix_key3/"): 
    print each_rs.name 

但是,下面的代碼工作正常檢索所有的鑰匙,AWS puvlic數據集

conn = boto.connect_s3(anon=True) 
bucket = conn.get_bucket('aws-publicdatasets') 
for each_rs in self.bucket.list(): 
    print each_rs.name 

我試着用get_all_keys(PREFIX = 「/ project_prefix/prefx_key2/prefix_key3 /」),但仍沒有運氣。有沒有其他的方式來獲得具有給定前綴的密鑰列表?

+0

有這個問題,並沒有解決它呢。當時對我來說並不是真的有必要,所以我沒有再追求它,但我也對一個答案感興趣! – Alfe

回答

0

你只能得到一個定義的前綴的鍵。試試這個:

import boto 
conn = boto.connect_s3(anon=True) 
bucket = conn.get_bucket('aws-publicdatasets') 
list = bucket.list("common-crawl/crawl-001/2008/08/22/28") 
for key in list: 
    print key.name 
+0

謝謝,多數民衆贊成在工作..但我不明白什麼是我的代碼中的錯誤。我不認爲在列表中給出prefix =是錯誤的。有沒有其他的一點我是missng – user2695817

+0

prefix =沒問題,但是錯誤是'prefix =「/ ...」中的第一個斜槓' – andpei