2017-12-08 1 views
0

나는 파이썬을 사용하여 s3://x.y.z/에서 데이터를 다운로드하라는 지시를 받았습니다. 여기서 x, y, z는 물론 자리 표시 자입니다.AWS S3 - 설정 대상 KEY?

나 자신이 BUCKETKEY 404 오류가 발생 한 것으로 설정하는 것을 추측에 다음 코드를

import boto3 
import botocore 

BUCKET_NAME = 'my-bucket' # replace with your bucket name 
KEY = '???' # replace with your object key 
LOCAL_TARGET = 'some.data' 

s3 = boto3.resource('s3') 

try: 
    s3.Bucket(BUCKET_NAME).download_file(KEY, LOCAL_TARGET) 
except botocore.exceptions.ClientError as e: 
    if e.response['Error']['Code'] == "404": 
     print("The object does not exist.") 
    else: 
     raise 

하지만 내 모든 시도를 실행하도록 설정 쪘 구만.

다음 정보가 주어지면 적절한 값은 무엇입니까? goat-bucket

키 :

데이터는 열쇠는 당신이

http://s3.amazonaws.com/goat-bucket/farms/andys/goat.png

버킷 예를 들어 다운로드 할 파일 이름이 될 것입니다 s3://x.y.z/

답변

2

에 업로드 된 farms/andys/goat.png

당신이 개체 이름을 알 수없는 경우

, 당신과 같이 goat bucket의 개체 이름을 나열 할 수 있습니다

import boto3 

s3 = boto3.resource('s3') 
bucket = s3.Bucket('goat-bucket') # Using the bucket name above 
for object in bucket.objects.all(): 
    print('Bucket name: ' + object.bucket_name) 
    print('Object key: ' + object.key) 

겠습니까 출력 :

Bucket name: goat-bucket 
Object key: farms/andys/goat.png 
+0

이 어떻게 당신이 정보에서 유추 것 나 가능해? (노란색 블록의 텍스트) – Apollys

+1

누구든지이 작업을 요청한 사람은 다운로드 할 파일 데이터를 언급하는 것을 잊었습니다. 그들이 가지고 있지 않다면 버켓에 테스트 파일을 넣으라고 요청할 것입니다. 그들은 당신의 작업이 완료되었는지 확인하기위한 완전한 정보를 제공하지 않습니다. –

+0

직업에 대한 과제이기 때문에 무서워요. 나는 무능하게 보일 수있는 질문을하면 즉시 목록에서 제외 될까 봐 걱정됩니다. 그래서 나는 그들에게 무엇이든 물어보기 전에 그것을 알아 내기 위해 최선을 다하고 싶었다. 나는 더 많은 것을 추측하려고 노력할 것이다. – Apollys