我正在尝试执行以下程序并遇到此问题
botocore.exceptions.ClientError:调用时发生错误(404) HeadObject操作:找不到
import boto3
s3 = boto3.resource('s3')
copy_source = {
'Bucket': 'forw',
'Key': 'test'
}
s3.meta.client.copy(copy_source,Bucket='copybucket0526',Key='tet')
答案 0 :(得分:0)
通常,HeadObject上的404代码表示该资源不存在。
答案 1 :(得分:0)
尝试此代码将起作用
import boto3
s3 = boto3.resource('s3')
copy_source = {
'Bucket': 'source_bucket',
'Key': 'dirname/subdirname/filename.gz'
}
s3.meta.client.copy(copy_source,Bucket='destination_bucket',Key='somedirname/new_or_same_filename.gz')
此方法有效,我想您提供路径错误,这意味着您需要提供文件完整路径
答案 2 :(得分:0)
在密钥位置,确保您要照顾要从源存储桶复制的文件的父文件夹或子目录(如果有)。
copy_source = {
'Bucket': 'forw',
'Key': 'top_directory/sub_directory/file.jpg'
}