Dan*_* Me 16 python amazon-s3 amazon-web-services python-2.7 boto3
我正在从AWS S3 Bucket下载文件,如下所示:
import boto3
s3client = boto3.client("s3")
s3 = boto3.resource('s3')
bucket_name = 'practice_bucket'
bucket = s3.Bucket(bucket_name)
for obj in bucket.objects.all():
filename = obj.key.rsplit('/')[-1]
s3client.download_file(bucket_name, obj.key, "/txt/" + filename)
Run Code Online (Sandbox Code Playgroud)
当试图将一些文件放在子目录下时,例如/txt/
我收到错误:botocore.exceptions.ClientError: An error occurred (404) when calling the HeadObject operation: Not Found
.
奇怪的是,它适用于使用相同方法的其他文件类型,但不适用于具有.json
扩展名的文件类型.
可能是什么问题?我甚至试过没有把它们放在一个绝对的子目录路径中,我没有得到任何错误,并将文件下载到与脚本下载相同的目录中.但是当我实际定义下载文件的路径时,我得到了错误.
提前谢谢你,一定要投票/接受答复
小智 6
你的代码是正确的。
botocore.exceptions.ClientError:调用 HeadObject 操作时发生错误(404):未找到
当您尝试获取的对象不存在于存储桶中时,会引发此错误。
归档时间: |
|
查看次数: |
10605 次 |
最近记录: |