AWS S3 Boto3复制()

时间:2019-05-26 17:29:59

标签: python amazon-s3 boto3

我正在尝试执行以下程序并遇到此问题

  

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')

3 个答案:

答案 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'
}