2011-02-25 163 views

回答

36

Amazon S3控制台现在支持上传整个文件夹层次结构。在上传对话框中启用增强上传器,然后将一个或多个文件夹添加到上传队列中。

http://console.aws.amazon.com/s3

+1

对增强的上传器不知道,谢谢提及它! – JimmyPena 2011-10-05 03:32:39

+0

它不适用于Safari浏览器:( – meck373 2017-04-09 15:21:08

+4

此回复现在已过时@Kainax的回复是最新的,但是。 – 2017-06-03 17:37:57

-2

您无法通过在线工具上传嵌套结构。我建议使用类似Bucket Explorer的东西来进行更复杂的上传。

+0

any any options? – chrismarx 2011-02-25 22:35:10

+0

CloudBerry Explorer是免费的 - 请参阅上面的 – cloudberryman 2011-02-26 18:16:21

+0

尝试其他浏览器。我发现它适用于Chrome 46.n,但不适用于FireFox 41.0.2。 – ScottWelker 2015-10-23 17:44:47

31

通常我通过AWS管理控制台使用Enhanced Uploader可用。但是,由于这需要Java,因此可能会导致问题。我发现s3cmd是一个伟大的命令行替换。以下是我用它:

s3cmd --configure # enter access keys, enable HTTPS, etc. 
s3cmd sync <path-to-folder> s3://<path-to-s3-bucket>/ 
28

你不需要增强上传(我相信了,不再存在)或任何第三方软件(即总是有风险的,有人会偷走你的私人数据或访问键来自S3存储桶,甚至来自所有AWS资源)。

由于新的AWS S3的Web上传管理器支持的文件和文件夹拖放,只需登录https://console.aws.amazon.com/s3/home并开始上传过程一切正常,那么只需将文件夹从桌面直接S3页。如果您要上传敏感的私人数据,请确保您正在使用的网页以https://协议开头。

+1

Drag'n'drop对我无效 - Win8.1/FireFox 41.0.2。 不确定是否“..开始上传过程照常”对我来说有一些不明显的含义..: -/ – ScottWelker 2015-10-23 17:18:34

+2

哦!等等!适用于Chrome 46.n--在我开始上传过程之后。感谢提示! – ScottWelker 2015-10-23 17:43:40

0

值得一提的是,如果您只是简单地使用S3进行备份,则应该将该文件夹压缩并上传。这将节省您上传时间和成本。

如果您不确定如何从终端进行高效压缩,请查看here for OSX。

$ zip -r archive_name.zip folder_to_compress for Windows。 另外一个客户端,如7-Zip

33

它使用AWS CLI

aws s3 cp SOURCE_DIR s3://DEST_BUCKET/ --recursive 

很容易让Windows用户是足够的,或者您可以通过

aws s3 sync SOURCE_DIR s3://DEST_BUCKET/ 

使用同步记住,你必须安装AWS并使用您的访问密钥ID和秘密访问密钥进行配置。ID

 pip install --upgrade --user awscli 
    aws configure 
+0

问题具体问到如何在控制台上执行此操作 – 2017-08-13 01:49:26

+1

根据用户是否想要将本地文件夹本身复制到s3或仅复制该文件夹的内容,这会引起误解'aws s3 cp SOURCE_DIR s3:// DEST_BUCKET/--recursive'不会导致创建's3:// DEST_BUCKET/SOURCE_DIR',但是自动创建这个远程文件夹是大多数情况下的预期行为 时间。 – ely 2017-08-19 21:54:57

0

我在这里没有看到Python的答案。 你可以使用Python/boto3脚本文件夹上传。 以下是如何递归得到目录树中的所有文件名:

def recursive_glob(treeroot, extention): 
    results = [os.path.join(dirpath, f) 
     for dirpath, dirnames, files in os.walk(treeroot) 
     for f in files if f.endswith(extention)] 
    return results 

下面介绍如何使用Python /博托将文件上传到S3:

k = Key(bucket) 
k.key = s3_key_name 
k.set_contents_from_file(file_handle, cb=progress, num_cb=20, reduced_redundancy=use_rr) 

我用这些想法写Directory-Uploader-For-S3

0

当我试图解决这个问题时,我结束了这里。使用现在的版本,您可以将文件夹拖放到其中,并且它可以工作,即使它不允许您在打开上载对话框时选择文件夹。

2

我在S3中找到用于上传文件夹和子文件夹的增强上传工具时遇到了问题。但是,除了找到工具之外,我可以通过将文件夹拖放到S3存储桶中将其与其中的子文件夹一起上传。

注意:此拖放功能在Safari中不起作用。我已经在Chrome中测试过它,它工作得很好。

Drag and drop

后你拖放文件和文件夹,此屏幕打开最后上传的内容。

enter image description here

+1

我在2015年6月给出了这个答案:) – Kainax 2018-02-12 10:01:14

+0

是的,你的回答很好。但是,当我在Safari中时它不起作用。我必须使用谷歌浏览器才能使用它。因此,如果我将整个过程与图像整合在一起,我认为其他开发人员可以更容易地获得即时帮助。希望你能理解。 – 2018-02-12 18:37:39

相关问题