我正在尝试使用Nodejs将数据存储到DigitalOcean。我可以执行列表,上传,下载操作。但是谁能告诉我如何使用API在存储桶中创建文件夹。
答案 0 :(得分:0)
要了解有关Spaces和S3 API(Spaces旨在与它们进行互操作)的一件重要事情是,“文件夹”实际上只是大小为零的“对象”的“键”。文件夹内的项目将文件夹密钥作为自己密钥的前缀。例如,这是一个空间中的对象列表,其中的文件夹名为foo
,其中包含名为bar
的文件:
$ aws s3api --endpoint-url https://nyc3.digitaloceanspaces.com --profile do list-objects --bucket my-bucket
{
"Contents": [
{
"LastModified": "2017-10-17T17:50:50.840Z",
"ETag": "\"d41d8cd98f00b204e9800998ecf8427e\"",
"StorageClass": "STANDARD",
"Key": "foo/",
"Owner": {
"DisplayName": "681451698",
"ID": "681451698"
},
"Size": 0
},
{
"LastModified": "2017-10-17T17:56:08.583Z",
"ETag": "\"8cf8463b34caa8ac871a52d5dd7ad1ef\"",
"StorageClass": "STANDARD",
"Key": "foo/bar",
"Owner": {
"DisplayName": "681451698",
"ID": "681451698"
},
"Size": 2
}
]
}
因此,您根本不需要创建文件夹。您可以仅使用path/to/file.ext
之类的键来上传对象。如果您希望在DigitalOcean Spaces的控制面板中看到一个空的“文件夹”,则可以“上传”一个空对象,其键的结尾为前移斜杠({{1)}。例如:
/