我想使用编码在我的亚马逊s3存储桶中添加文件夹。你能建议我如何做到这一点吗?
发布于 2011-07-24 16:05:25
亚马逊S3中没有文件夹。它只是将大部分可用S3浏览器工具将以斜杠分隔的部分键名显示为一个文件夹。
如果你真的需要它,你可以创建一个空的对象,在末尾加上斜杠。例如" folder /“如果您使用GUI工具和AWS控制台打开它,它看起来就像一个文件夹。
发布于 2016-01-13 00:28:30
正如每个人都告诉你的那样,在亚马逊网络服务S3中没有任何“文件夹”,你对它们的理解是错误的。亚马逊网络服务S3有“对象”,这些对象看起来像文件夹,但它们并不是真正意义上的文件夹。如果你想在Amazon AWS S3上创建文件夹,你不会找到很多好的结果。
有一种创建“文件夹”的方法,您可以在S3上创建一个模拟的文件夹结构,但同样,请记住您是在S3中创建对象,而不是在文件夹中。接下来,您将需要命令"put-object“来创建这个模拟的文件夹结构。现在,为了使用此命令,您需要安装AWS CLI工具,请转到此处AWS CLI Installation获取安装说明。
命令如下:
aws s3api put-object --bucket your-bucket-name --key path/to/file/yourfile.txt --body yourfile.txt
现在,这个命令的有趣之处在于,在运行这个命令之前,您不需要创建所有的“文件夹”(对象)。这意味着您可以拥有一个“文件夹”(对象)来包含内容,但是您可以使用此命令在该“文件夹”(对象)中创建模拟的文件夹结构,如我前面所讨论的。例如,在我的S3存储桶中有一个名为"importer“的”文件夹“(对象),假设我想在年、月的”文件夹“(对象)结构中插入sample.txt,然后在所有这些结构中插入一个示例”文件夹“(对象)。
如果我的存储桶中只有"importer“对象,则不需要在运行此命令之前预先创建年、月和样本对象(”文件夹“)。我可以像这样运行这个命令:
aws s3api put-object --bucket my-bucket-here --key importer/2016/01/sample/sample.txt --body sample.txt
然后,put-object命令将进入并创建我在--key标志中指定的路径。这里有一点精妙之处:即使您没有要上载到S3的文件,您仍然可以在S3存储桶中创建对象(“文件夹”),例如,我创建了一个shell脚本在存储桶中“创建文件夹”,方法是不使用-- S3标志,不指定文件名,在--key标志中提供的路径末尾留一个斜杠,系统将在S3存储桶中创建所需的模拟文件夹结构,而不会在进程中插入文件。
希望这能帮助你更好地理解系统。
注意:一旦创建了“文件夹”结构,您就可以使用S3的"sync“命令将子代的”文件夹“与本地计算机上的文件夹同步,甚至与另一个S3存储桶同步。
发布于 2012-12-21 05:14:34
带有AWS SDK的Java:
/
),这将使它在管理控制台中显示为文件夹,但在编程上它不是文件夹,它是一个字符串值。folder/subfolder/file.txt
。搜索时(取决于您使用的语言),您可以通过带有分隔符的前缀进行搜索。在Java语言中,它是一个listObjects(String storageBucket, String prefix, String delimiter)
方法调用。
storageBucket
是存储桶的名称,prefix
是要搜索的键,delimiter
用于根据存储桶过滤搜索
https://stackoverflow.com/questions/6791257
复制相似问题