2024-05-14 11:00:19 发布
网友
我正在尝试下载s3 bucket中的一个目录。我试图使用transfer从S3 bucket下载一个目录,但是我得到一个错误:“调用HeadObject操作时发生错误(404):未找到”。请帮忙。
S3 structure: **Bucket Folder1 File1**
注意:正在尝试下载Folder1
transfer.download_file(self.bucket_name, self.dir_name, self.file_dir + self.dir_name)
我遇到的另一个可能的原因是您试图下载的文件包含0个字节。这相当令人困惑,因为AWS cli将在没有任何异议的情况下下载它
我最近也有同样的问题。您可能拼错了路径和文件夹名。例如,在我的例子中,我搞错了“/”。
若要修复此问题,请确保用作函数参数的变量包含S3中目录、文件夹和文件的正确名称。另外,请确保将“/”放在正确变量的正确位置。例如,在我的案例中,我发现:
我希望它能帮助你和其他人轻松地克服这个错误。
另一个可能是在创建S3资源时输入了不正确的endpoint_url参数。
endpoint_url
对于未来的用户,请按如下方式创建资源:
s3 = boto3.resource( 's3', region_name=[your region, e.g. eu-central-1], aws_access_key_id=[your access key], aws_secret_access_key=[your secret key] )
在上面,可以像我错误地那样传递endpoint_url(我后来发现我意外地将端点URL传递给了另一个AWS服务)。
如果使用AWS CLI进行身份验证,则可以省略region_name、aws_access_key和aws_secret_access_key参数,如下所示:
region_name
aws_access_key
aws_secret_access_key
s3 = boto3.resource('s3')
我遇到的另一个可能的原因是您试图下载的文件包含0个字节。这相当令人困惑,因为AWS cli将在没有任何异议的情况下下载它
我最近也有同样的问题。您可能拼错了路径和文件夹名。例如,在我的例子中,我搞错了“/”。
若要修复此问题,请确保用作函数参数的变量包含S3中目录、文件夹和文件的正确名称。另外,请确保将“/”放在正确变量的正确位置。例如,在我的案例中,我发现:
我希望它能帮助你和其他人轻松地克服这个错误。
另一个可能是在创建S3资源时输入了不正确的
endpoint_url
参数。对于未来的用户,请按如下方式创建资源:
在上面,可以像我错误地那样传递
endpoint_url
(我后来发现我意外地将端点URL传递给了另一个AWS服务)。如果使用AWS CLI进行身份验证,则可以省略
region_name
、aws_access_key
和aws_secret_access_key
参数,如下所示:相关问题 更多 >
编程相关推荐