listblob在cloudblobdirectory类中不可用?

Kar*_*ran 3 c# azure azure-storage azure-blob-storage

我已经在.net core 2.0项目中安装了最新的Windows Azure nuget软件包。安装的版本:8.6.0.0

在8.1.4版本中,我使用以下语法使用listblobs方法获取项目列表。

CloudBlobDirectory sampleDirectory = container.GetDirectoryReference(path);
                IEnumerable<IListBlobItem> items = sampleDirectory.ListBlobs(false, BlobListingDetails.Metadata);
Run Code Online (Sandbox Code Playgroud)

当尝试在具有8.6.0.0 Windows Azure版本的.net Core 2.0项目中使用相同的代码块时,它将引发错误

“ cloudblob目录不包含listblob的定义”。

如何获得此版本中的文件项?

同样,此版本中也不提供“ CloudBlockBlob”中的UploadText()方法。

任何人请提出解决此问题的方法?

Tom*_*SFT 7

任何人请提出解决此问题的方法?

正如Gaurav Mantri提到的那样Net core implementation of storage client library only includes async methods. There're no sync methods available

请尝试使用以下演示代码。我也做一个演示,它可以正常工作。

var blobs = sampleDirectory.ListBlobsSegmentedAsync(false, BlobListingDetails.Metadata, 100, null, null, null).Result;
Run Code Online (Sandbox Code Playgroud)

演示代码:

CloudStorageAccount storageAccount = CloudStorageAccount.Parse("Storage connection string");

// Create the blob client.
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();

// Retrieve a reference to a container.
CloudBlobContainer container = blobClient.GetContainerReference("Container name");

// Create the container if it doesn't already exist.
container.CreateIfNotExistsAsync();
CloudBlobDirectory sampleDirectory = container.GetDirectoryReference("directory name");

var blobs = sampleDirectory.ListBlobsSegmentedAsync(false, BlobListingDetails.Metadata, 100, null, null, null).Result;
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明