私はAzure Blobからデータを読み込み、そのデータをObjectに保存しているプロジェクトに取り組んでいます。私は現在問題に遭遇しています。私のコードが今設定されている方法 - バーチャルフォルダがない場合、コンテナ内のすべての.txtデータを読み込みます。Azure Containerに仮想フォルダ/ディレクトリがあるかどうかを確認するには?
しかし、Azureコンテナ内に仮想フォルダ構造が存在する場合、 NullExceptionReference
を使用すると、自分のコードがエラーになります。私の考えは、if
Azureコンテナ内に仮想フォルダが存在するかどうかを調べて、//some code
を実行するかどうかをチェックすることでした。仮想フォルダが存在するかどうかを確認する方法はありますか?
ReturnBlobObject()
private List<Blob> ReturnBlobObject(O365 o365)
{
List<Blob> listResult = new List<Blob>();
string textToFindPattern = "(\\/)";
string fileName = null;
string content = null;
//Loop through all Blobs and split the container form the file name.
foreach (var blobItem in o365.Container.ListBlobs(useFlatBlobListing: true))
{
string containerAndFileName = blobItem.Parent.Uri.MakeRelativeUri(blobItem.Uri).ToString();
string[] subString = Regex.Split(containerAndFileName, textToFindPattern);
//subString[2] is the name of the file.
fileName = subString[2];
content = ReadFromBlobStream(o365.Container.GetBlobReference(subString[2]));
Blob blobObject = new Blob(fileName, content);
listResult.Add(blobObject);
}
return listResult;
}
ReadFromBlobStream
private string ReadFromBlobStream(CloudBlob blob)
{
Stream stream = blob.OpenRead();
using (StreamReader reader = new StreamReader(stream))
{
return reader.ReadToEnd();
}
}