2017-11-18 7 views
0

私の.net core 2.0プロジェクトに最新のazure nugetパッケージをインストールしました。インストールされているバージョン:8.6.0.0ListBlobはcloudblobdirectoryクラスでは使用できません。

8.1.4バージョンでは、以下の構文を使用してlistblobsメソッドを使用してアイテムのリストを取得しました。

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

8.6.0.0 Windowsのアズールバージョンと.NETコア2.0のプロジェクトで同じコードブロックを使用しようとしたとき、それは「cloudblobdirectoryがlistblobsの定義が含まれていません」

としてエラーがスローされます。

このバージョンのファイルアイテムを取得するにはどうすればよいですか?

同様に、このバージョンでは、CloudBlockBlobのUploadText()メソッドも使用できません。

この問題の解決策をご提案ください。

+0

私の記憶が正しければ、ストレージクライアントライブラリのネットのコア実装のみ非同期メソッドを含んでいます。利用可能な同期方法はありません。 –

+0

はい@gauravMantri。この非同期メソッドを使用してファイルを取得する方法はありません。私は以下のコードで私の側で試しました CloudBlobDirectory sampleDirectory = container.GetDirectoryReference(path); タスク item = sampleDirectory.ListBlobsSegmentedAsync(true、BlobListingDetails.Metadata、null、null、options、context); 結果はnullとして返されます – Joy

+0

非同期操作を待つべきではありませんか? 'Task item = await sampleDirectory.ListBlobsSegmentedAsync(true、BlobListingDetails.Metadata、null、null、options、context);'次のコード行を試してみてください。 HTH。 –

答えて

1

この問題の解決策をご提案ください。

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; 

デモコード:

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; 

enter image description here

関連する問題