我可以帮您翻译以下内容,涉及IT技术方面的问题。请注意,在保留HTML标签的前提下,我会尽力使文本更易于理解。
以下是需要翻译的内容:
以下是需要翻译的内容:
我拥有一个启用分层存储的Azure存储账户。我正在获取容器中的blob列表,并尝试确定特定的blob是否为目录。
我已经在REST API客户端中使其工作,如下所示:
public async Task<List<StoragePath>> ListPathsAsync(string filesystem)
{
string uri = $"https://{accountName}.{dnsSuffix}/{filesystem}?recursive=true&resource=filesystem";
var result = await SendRequestAsync<StoragePathList>(HttpMethod.Get, uri, CancellationToken.None, true);
return result.Content.Paths?.ToList();
}
public class StoragePath
{
[JsonProperty(PropertyName = "isDirectory")]
public bool IsDirectory { get; set; }
// other properties
}
SendRequestAsync<T>
方法只是使用JsonConvert来反序列化API响应内容。var result = JsonConvert.DeserializeObject<T>(await response.Content.ReadAsStringAsync());
现在我正在尝试使用 .net SDK 来完成同样的操作,但是我找不到 IsDirectory 属性。
public async Task<List<StoragePath>> ListPathsAsync(string filesystem)
{
var containerClient = new BlobContainerClient(connectionString, filesystem);
var list = new List<StoragePath>();
var enumerator = containerClient.GetBlobsByHierarchyAsync().GetAsyncEnumerator();
while (await enumerator.MoveNextAsync())
{
var current = enumerator.Current;
list.Add(new StoragePath()
{
Name = current.Blob.Name,
//IsDirectory = current.Blob.Properties.
});
}
return list;
}
我应该检查其他属性吗?