2017-05-23 1 views
0

아래 링크는 전체 S3 콘텐츠를 다운로드하는 방법을 보여줍니다. 그러나 하위 폴더 콘텐츠를 얻는 방법은 무엇입니까? 내 S3 폴더에 다음 에뮬레이트 된 구조가 있다고 가정합니다.python boto를 사용하여 S3 버킷의 특정 폴더 만 다운로드

S3Folder/S1/file1.c에서

S3Folder/S1/file2.h

S3Folder/S1/file1.h

S3Folder/S2/file.exe가

S3Folder/S2/resource.data

S2 폴더에만 관심이 있다고 가정합니다. 버킷 목록의 키를 어떻게 분리합니까?

local backup of an S3 content

conn = boto.connect_s3(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) 
bucket = conn.get_bucket(bucket_name) 

# go through the list of files 
bucket_list = bucket.list() 
for l in bucket_list: 
    keyString = str(l.key) 
    d = LOCAL_PATH + keyString 
    try: 
    l.get_contents_to_filename(d) 
    except OSError: 
    # check if dir exists 
    if not os.path.exists(d): 
     os.mkdir(d) 

답변

0

당신은 키 값에의 접두사를 추가하여 S3 오브젝트를 다운로드 할 수 있습니다.

객체

참고

다운로드하는 동안 그래서, 당신의 질문에 따라, 당신은 단지 '/ S2'접두사를 추가해야합니다 자세한 검사를 위해

을 boto3 사용 s3 download objectthis

+0

그것은 어디 것 분명하지 않다 접두사 S2를 붙이십시오. 추가 할 매개 변수 'key'에 –

+0

을 입력하십시오. 나는 당신이 문서를 읽는 것이 좋습니다. – tom

+0

S2 하위 폴더 콘텐츠 만 가져와야합니다. 지금까지, 나는 양동이에있는 모든 것을 움켜 잡습니다. –

관련 문제