为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 Python 访问 boto 中存储桶中文件夹中的文件?

如何使用 Python 访问 boto 中存储桶中文件夹中的文件?

幕布斯7119047 2023-05-09 15:02:09
我所能找到的就是这个,它列出了所有文件。上市成功。我只想通过链接访问特定文件。该文件位于文件夹中。例如,我想从以下网址下载:s3://my_bucket/my_folder/my_next_folder/my_file.csv无需遍历整个文件树。
查看完整描述

2 回答

?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

你试过这个吗:

import boto3

import botocore


BUCKET_NAME = 'my-bucket' # replace with your bucket name

KEY = 'my_image_in_s3.jpg' # replace with your object key


s3 = boto3.resource('s3')


try:

    s3.Bucket(BUCKET_NAME).download_file(KEY, 'my_local_image.jpg')

except botocore.exceptions.ClientError as e:

    if e.response['Error']['Code'] == "404":

        print("The object does not exist.")

    else:

        raise


查看完整回答
反对 回复 2023-05-09
?
慕慕森

TA贡献1856条经验 获得超17个赞

from boto.s3.key import Key

from boto.s3.connection import S3Connection

conn = S3Connection(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)

s3_url_split = s3_url.split('/')

bucket_name = s3_url_split[2]

dir_name = '/'.join(s3_url_split[3:-1])


bucket = conn.get_bucket(bucket_name)

file_name = s3_url_split[-1]

k = Key(bucket)

k.key = dir_name + "/" + file_name

k.get_contents_to_filename(dst_path)

我缺少的是密钥已经包含文件夹路径。


查看完整回答
反对 回复 2023-05-09
  • 2 回答
  • 0 关注
  • 149 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信