2017-12-08 8 views
0

私はs3://x.y.z/からpythonを使ってデータをダウンロードするよう指示されています。ここでx、y、zはもちろんプレースホルダーです。AWS S3 - KEYをどのように設定するのですか?

私は自分自身が404エラーになったとBUCKETKEYを設定するためにどのような推測に次のコード

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

関連する問題