【发布时间】:2015-10-22 16:25:48
【问题描述】:
我正在尝试使用 ruby aws-sdk gem 将整个目录上传到 s3。我首先尝试将其分解为较小的问题,因此我目前要做的只是创建一个文件夹,然后在该文件夹中放置一个文件。我知道从技术上讲 s3 没有文件夹,而是对象。我知道你可以有一个类似目录的结构。我在网上找不到任何关于如何做到这一点的信息,除了使用 AWS::S3::Tree 阅读之外,文档也没有提到很多关于目录结构的内容
这是我目前尝试创建文件夹,然后将文件添加到文件夹:
#created an object called test
obj = bucket.objects.create('test', 'data')
#this is the path to a css file that I am uploading.
path_to_file = './directory/mobile/player.css'
#writing file to test object
obj.write(Pathname.new(path_to_file))
这实际上是在编写 css 文件进行测试。我想要它做的是在名为 test 的文件夹中创建一个 css 文件。
我确定我误解了对象与目录相关的方式。谁能发现我哪里出错或指出我正确的方向?
【问题讨论】:
-
Amazon S3 中好像没有目录结构:serverfault.com/a/435828, stackoverflow.com/a/11503643/1008230
-
我发现你可以通过创建带有路径名的对象来拥有类似目录的结构。 bucket.objects.create(文件夹/测试/player.css)。当您查看存储桶 as_tree 时,它们将显示为目录。
-
@SpencerCooley 你能详细说明你找到的解决方案吗?
-
他正在指定他希望在创建对象时将文件存储在存储桶上的目录@Noz
-
@SpencerCooley 你应该回答你自己的问题,或者删除问题
标签: ruby amazon-web-services amazon-s3