【发布时间】:2018-07-13 15:44:14
【问题描述】:
我正在试用 Google Cloud Storage,但它的 C# SDK 有问题。具体来说,我创建了一个带有文件夹 a/、b/、c/ 的存储桶(文件夹中有文件)。当我使用时:
gsutil ls gs://<mybucket>/root/
文件夹正确显示为:
gs://<mybucket>/root/a
gs://<mybucket>/root/b
gs://<mybucket>/root/c
但是,当我使用 C# SDK 列出文件夹时,
var client = StorageClient.Create();
var opt = new ListObjectsOptions() { Delimiter = "/" };
var ret = client.ListObjects("<mybucket>", "root/", opt);
var lst = new List<Google.Apis.Storage.v1.Data.Object>();
foreach (var item in ret )
{
lst.Add(item);
}
结果列表为空(未返回文件夹)。请注意,如果我将上面的代码更改为:
var opt = new ListObjectsOptions();
文件夹中的所有文件都可以成功列出。怎么了?带分隔符选项的 ListObjects 可以列出存储桶中的文件夹吗?
【问题讨论】:
-
你试过
root而不是root/作为前缀吗? -
我尝试了两个“root”。同样的问题(gsutil 返回 3 个文件夹,C# SDK 没有返回)。
-
这个问题你解决了吗?同样的问题