如何使用 AWS PowerShell 在 S3 中创建新文件夹
How to create a new folder in S3 using AWS PowerShell
我已经创建了一个存储桶,但我想在这个存储桶中创建新文件夹,而不是上传数据或其他任何东西,只是创建新文件夹。我该怎么做?
谢谢
S3是对象存储;它不是常规文件系统。一般来说,没有必要尝试创建文件夹。只需上传对象,例如 teams/east/falcons/logo.png.
如果您真的非常想给人以存在文件夹的印象,那么您可以创建名称以 /(或任何您喜欢的文件夹分隔符)结尾的零大小对象。最简单的方法是使用 AWS S3 控制台,但任何 SDK 都可以让您这样做(只需发出一个没有正文的 PutObject)。
AWS S3 实际上并没有第一个 "folder" 或 "directory" 的 class 概念。 S3对象有前缀,以斜线分割,所以肯定有文件夹的样子,但不可能有真正的空目录结构。
但是,他们的 AWS 控制台用户体验确实以这种方式呈现内容,并提供了一个按钮 "Create Folder"。使用该按钮时,UI 提供以下消息:
When you create a folder, S3 console creates an object with the above
name appended by suffix "/" and that object is displayed as a folder
in the S3 console.
您可以尝试使用 PowerShell 的 Put Object API/cmdlet 创建按照该指令命名的空对象。例如,您可以通过创建名为 "my-new-folder/".
的对象来创建名为 "my-new-folder" 的文件夹
我自己正在搜索这个并找到了 this。
使用-content where content = key then -file or -folder are not needed
$s3Path = "/folder/" + 'subfolder/'
Write-S3Object -BucketName $s3Bucket -Key $s3Path -Content $s3Path
我已经创建了一个存储桶,但我想在这个存储桶中创建新文件夹,而不是上传数据或其他任何东西,只是创建新文件夹。我该怎么做?
谢谢
S3是对象存储;它不是常规文件系统。一般来说,没有必要尝试创建文件夹。只需上传对象,例如 teams/east/falcons/logo.png.
如果您真的非常想给人以存在文件夹的印象,那么您可以创建名称以 /(或任何您喜欢的文件夹分隔符)结尾的零大小对象。最简单的方法是使用 AWS S3 控制台,但任何 SDK 都可以让您这样做(只需发出一个没有正文的 PutObject)。
AWS S3 实际上并没有第一个 "folder" 或 "directory" 的 class 概念。 S3对象有前缀,以斜线分割,所以肯定有文件夹的样子,但不可能有真正的空目录结构。
但是,他们的 AWS 控制台用户体验确实以这种方式呈现内容,并提供了一个按钮 "Create Folder"。使用该按钮时,UI 提供以下消息:
When you create a folder, S3 console creates an object with the above name appended by suffix "/" and that object is displayed as a folder in the S3 console.
您可以尝试使用 PowerShell 的 Put Object API/cmdlet 创建按照该指令命名的空对象。例如,您可以通过创建名为 "my-new-folder/".
的对象来创建名为 "my-new-folder" 的文件夹我自己正在搜索这个并找到了 this。
使用-content where content = key then -file or -folder are not needed
$s3Path = "/folder/" + 'subfolder/'
Write-S3Object -BucketName $s3Bucket -Key $s3Path -Content $s3Path