Python:如何从 S3 存储桶下载文件

最大

我有一些数据存储在一个AWS S3存储桶中。

如果从终端我做:

aws s3 ls s3://myBucket/folder/ --profile myProfile
2020-04-23 01:04:09   96858539 2020-01-01-file.csv.gz

如果我尝试使用下载文件 boto3

import boto3
session = boto3.session.Session(profile_name='myProfile')
s3 = boto3.resource('s3')
f1 = '2020-01-01-file.csv.gz'
s3.meta.client.download_file('myBucket', 'folder/%s'%f1, f1)

我收到以下错误

ClientError: An error occurred (403) when calling the HeadObject operation: Forbidden
马尔钦

它对您不起作用原因是您创建了 boto3session

session = boto3.session.Session(profile_name='myProfile')

而你不使用它所以,而不是boto3.resource('s3'),应该尝试session.resource('s3')

但无论如何,boto3 文档有一整个部分称为Downloading Files它显示了两个带有解释的示例:

import boto3

s3 = boto3.client('s3')
s3.download_file('BUCKET_NAME', 'OBJECT_NAME', 'FILE_NAME')

要么

s3 = boto3.client('s3')
with open('FILE_NAME', 'wb') as f:
    s3.download_fileobj('BUCKET_NAME', 'OBJECT_NAME', f)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Javascript从亚马逊S3存储桶下载文件?

下载文件名与存储桶密钥不同的S3文件

如何加载S3存储桶中的zip文件?

使用Python从AWS S3下载文件

如何在Python中使用临时令牌从s3存储桶下载文件

无法从S3存储桶下载文件

如何遍历S3存储桶中的文件?

设置权限后,为什么不能从s3存储桶下载文件?

如何使用python不管文件密钥如何从S3存储桶下载所有文件

当对象具有Windows不兼容的文件名时,如何从s3存储桶下载所有文件

在S3存储桶中,如何正确配置json格式的文件以进行下载或读取?

如何使用未经身份验证的用户从Swift中的AWS S3存储桶下载文件

如何根据文件修改日期从s3存储桶下载文件?

使用Python在未经身份验证的公共S3存储桶上下载文件

如何在Django中从S3存储桶下载媒体文件

使用boto3从S3存储桶下载文件时出现ValueError吗?

如何使用Boto3创建预签名URL以从S3存储桶下载文件?

使用python从S3存储桶下载后加载的pickle文件出现问题

如何从AWS S3存储桶下载加密的.gz文件

在NodeJS中,如何从S3下载文件

如何从在Fargate上运行的Docker容器上载文件到S3存储桶?

如何在不使用AWS CLI的情况下使用S3专用存储桶下载文件

从S3存储桶+文件夹下载文件

如何从特定日期上传的S3存储桶中下载所有文件?

使用 python boto 仅下载 S3 存储桶中的特定文件夹

使用 .net SDK 从 Amazon S3 存储桶下载文件夹

通过 AWS SDK 从 AWS S3 存储桶下载文件会损坏文件

如何生成 URL 以从 S3 存储桶下载文件

使用 python pysftp 从 sftp 下载文件并直接存储在 AWS S3