繁体   English   中英

aws s3 boto3 copy()

[英]aws s3 boto3 copy()

我正在尝试执行以下程序并面临此问题

botocore.exceptions.ClientError: 调用 HeadObject 操作时发生错误 (404):未找到

import boto3
s3 = boto3.resource('s3')
copy_source = {
    'Bucket': 'forw',
    'Key': 'test'
}
s3.meta.client.copy(copy_source,Bucket='copybucket0526',Key='tet')

试试这个代码它会工作

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

这是有效的,我猜您提供路径是错误的,这意味着您需要提供文件完整路径

通常 HeadObject 上的 404 代码意味着该资源不存在。

在 key 的位置确保您正在处理要从源存储桶复制的文件的父文件夹或子目录(如果有)。

copy_source = {
    'Bucket': 'forw',
    'Key': 'top_directory/sub_directory/file.jpg'
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM