有没有一种简单的方法可以通过python从S3获取文件?

有没有一种简单的方法可以通过python从S3获取文件?,python,amazon-s3,Python,Amazon S3,我试图创建一个脚本,从S3中的特定Bucket获取一个文件, 例如:从“s3://my bucket/veryCoolFile.img”我想获取veryCoolFile.img 最简单的方法是什么?Python在AWS中的大多数(如果不是全部)操作中都有它的API。 执行任务的方法可以通过以下代码完成: def get_file_fore_s3(bucket,file_name): AWS_ACCESS_KEY_ID = <YOUR_ACCESS_KEY_ID> AW

我试图创建一个脚本,从S3中的特定Bucket获取一个文件,
例如:从
“s3://my bucket/veryCoolFile.img”
我想获取veryCoolFile.img

最简单的方法是什么?

Python在AWS中的大多数(如果不是全部)操作中都有它的API。 执行任务的方法可以通过以下代码完成:

def get_file_fore_s3(bucket,file_name):
    AWS_ACCESS_KEY_ID = <YOUR_ACCESS_KEY_ID>
    AWS_SECRET_ACCESS_KEY = <YOUR_AWS_SECRET_ACCESS_KEY>
    s3_client = boto3.client('s3', aws_access_key_id=AWS_ACCESS_KEY_ID, aws_secret_access_key=AWS_SECRET_ACCESS_KEY)
    s3_resource = boto3.resource('s3', aws_access_key_id=AWS_ACCESS_KEY_ID, aws_secret_access_key=AWS_SECRET_ACCESS_KEY)
    all_objects = s3_client.list_objects(Bucket= bucket)
    for object in all_objects['Contents']:
        current_file_name = object['Key]
        if file_name == current_file_name:
            f = open(file_name, "w+")
            f.close()
            s3_resource.meta.client.download_file(bucket, file_name,file_name)
def get_file_fore_s3(bucket,file_name):
AWS\u访问\u密钥\u ID=
AWS\u密码\u访问\u密钥=
s3\u client=boto3.client('s3',aws\u access\u key\u id=aws\u access\u key\u id,aws\u secret\u access\u key=aws\u secret\u access\u key)
s3\u resource=boto3.resource('s3',aws\u access\u key\u id=aws\u access\u key\u id,aws\u secret\u access\u key=aws\u secret\u access\u key)
所有_对象=s3_客户端。列出_对象(Bucket=Bucket)
对于所有_对象['Contents']中的对象:
当前文件名=对象['Key]
如果文件名==当前文件名:
f=打开(文件名为“w+”)
f、 关闭()
s3_resource.meta.client.download_文件(bucket、文件名、文件名)
解决方案背后的想法是获取bucket元素(由我的代码中的所有_对象描述) 并迭代存储桶的“内容”

可能重复的