我已经获得了使用python从s3://x.y.z/
下载数据的说明,其中x,y,z当然是占位符。
我已经设置好运行以下代码
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
但我尝试猜测将BUCKET
和KEY
设置为什么导致404错误。
根据以下信息,适当的值是什么?
数据已上传到
s3://x.y.z/
答案 0 :(得分:2)
密钥将是您要下载的文件名,例如
http://s3.amazonaws.com/goat-bucket/farms/andys/goat.png
桶:goat-bucket
键: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