使用boto3将文件上传到S3中的特定文件夹

Ale*_*lex 17 amazon-s3 amazon-web-services python-2.7 boto3

我的代码的一切工作.我目前面临的唯一陷阱是我无法在S3存储桶中指定我想要放入文件的文件夹.这就是我所拥有的:

s3.meta.client.upload_file('/tmp/'+filename, '<bucket-name>', filename)
Run Code Online (Sandbox Code Playgroud)

我试过了两个:

s3.meta.client.upload_file('/tmp/'+filename, '<bucket-name>/folder/', filename)
Run Code Online (Sandbox Code Playgroud)

和:

s3.meta.client.upload_file('/tmp/'+filename, '<bucket-name>', '/folder/'+filename)
Run Code Online (Sandbox Code Playgroud)

如果有人有任何关于如何将其指向特定文件夹的提示(如果可能的话),请告诉我!

hjp*_*r92 32

您不需要将Key值作为绝对路径传递.以下应该有效:

upload_file('/tmp/' + filename, '<bucket-name>', 'folder/{}'.format(filename))
Run Code Online (Sandbox Code Playgroud)


小智 8

将其用于 python 3.x

s3.upload_file(file_path,bucket_name, '%s/%s' % (bucket_folder,dest_file_name))
Run Code Online (Sandbox Code Playgroud)


Ale*_*lex 5

我想出了我的问题。我/folder/对关键参数区域的选项有正确的想法,但是,我不需要第一个/谢谢大家!这与上面 hjpotter92 的建议基本相同。