AWS S3用户上传(临时),修改文件夹名称(移动?),永久S3存储

1 人不认可

我的问题与以下方面有关 从一个AWS s3 bucket/文件夹复制文件到另一个AWS/S3文件夹,并通过pythons在databricks上保留最深的子文件夹名称。 .

有没有可能让用户从本地上传一个包含所有文件夹/文件的文件夹结构,临时修改对象键名/路径(移动、复制、删除?我主要是想寻找更好的资源来阅读和学习。

我正在开发一个网络应用,与第三方使用Python,用户可以上传一个单一的文件 OR single folder of files OR 文件夹/文件的单一文件夹。然后他们可以通过元数据将这些上传的文件放入用户定义的类别/子类别。

关于单个文件,我知道AWS将在对象路径中创建一个文件夹。该主根 "文件夹 "的名称将需要为所有三种上传方案进行更改。

单一文件 例子。

Folder Name A/File A,B,C
-Rename Folder Name A.

关于文件夹/文件的单文件夹,需要消除主根文件夹,留下一级文件夹作为单独的单文件夹移动到永久的S3。这是一个一次性上传许多文件夹的批量选项,而不是 "单一文件夹"。第一级文件夹下游的 "文件夹结构 "需要保持原样,不需要改变。

上传单个文件夹/文件的例子。

Local Root Folder/Local Folder Name A/.../File A,B,C
Local Root Folder/Local Folder Name 1/.../File 1,2,3
Local Root Folder/Local Folder Name X/.../File X,Y,Z
-Eliminate *Local Root Folder* and rename *Local Folder Names A & 1 & X*

如果有任何关于文档和AWS功能的帮助,可以帮助解释这一挑战背后的基本原理,我们将不胜感激!谢谢!

3 个评论
是的,你只需在你的应用程序中改变 "文件夹 "名称,它们就会被重新命名--你只需按你喜欢的方式制作对象键,结构就会落到实处。
我很可能错过了一些非常简单的东西......我读过很多,你不能在S3中重命名文件夹/文件名,但你必须复制/删除来改变。 devopsmania.com/operation/...
正确的是--但你可以在上传文件之前改变对象键。你可以重命名它,就像在你的Python应用程序中改变字符串一样。
python
python-3.x
amazon-web-services
amazon-s3
RobinHood
RobinHood
发布于 2022-04-02
1 个回答
John Rotenstein
John Rotenstein
发布于 2022-04-03
已采纳
0 人赞同

Amazon S3中的对象不能被 "重命名 "或 "移动"。

相反,你将需要 copy 对象到一个新的键(可以有一个不同的路径),然后 delete the existing object.

The AWS命令行界面(CLI) aws s3 mv 命令可以用来 "重命名 "一个 single object -- 它将为你执行复制和删除。然而,这个命令 不能 可以用来 "重命名 "一个文件夹。你将需要执行两个操作。