2013-06-07 3 views
2

S3 버킷을 구문 분석하기 위해 boto를 사용하고 있습니다. 기본적으로 버킷 (* .header 또는 사용자가 제공 한 다른 정규 표현식)에 특정 파일을 저장하려고합니다. Boto에서 그 기능을 찾을 수 없기 때문에 각 폴더의 내용을 검색하기 위해 BFS 루틴을 작성하려고 시도했지만 key/key.name에 의해 폴더의 내용을 가져 오는 메소드를 찾을 수 없었습니다. bucketObj.list()에 의해). 이 작업을 수행하는 다른 방법이 있습니까? 예를 들어boto를 사용하여 S3에서 특정 파일 검색

는, 내가

mybucket/A/B/C/x.txt 
mybucket/A/B/D/y.jpg 
mybucket/A/E/F/z.txt 

처럼 버킷 에 여러 개의 폴더가 말할 수와 나는

이 때문에 BOTO 스크립트가 결과

다음 날 반환해야합니다 .txt 인 * 어디 찾으려면
mybucket/A/B/C/x.txt 
mybucket/A/E/F/z.txt 

답변

5

S3와 함께 서비스 측에서 와일드 카드 검색 또는 파일 - globbing을 수행 할 방법이 없습니다. API를 통해 사용할 수있는 유일한 필터링은 prefix입니다. prefix 문자열을 지정하면 prefix으로 시작하는 결과 만 반환됩니다.

그렇지 않으면 모든 필터링이 클라이언트 측에서 이루어져야합니다. 또는 데이터베이스에 키를 저장 한 다음 키를 사용하여 검색을 수행하고 S3에서 일치 항목 만 검색 할 수 있습니다.

관련 문제