2017-04-19 18 views
0

Azure Storageでブロブの個々のblobメタデータにアクセスする方法が見つかっていないようです。azure storage blobからのメタデータへのアクセス

FetchAttributesはコンテナ全体でのみ動作します。私のメソッドは、私が設定したパラメータと一致するブロブのリストを返します。私はその後、そのリストを反復処理し、それぞれのブロブからいくつかのメタデータを取得する必要がありますが、私はそうする方法を見つけることはできません。

オーバーヘッドのように思えますが、コンテナオブジェクトを作成してからブロブリストをフィルタリングするときに、それらの属性を取得する必要がありますか?

だから、私は、メタデータのカウントに0を示し、塊にブロブオブジェクト

public static IEnumerable<GalleryPhoto> GetGalleryPhotos(string folderPath) 
{ 

     var container = CreateAzureContainer(containerName, false); 
     container.FetchAttributes(); 
     var blobDirectory = container.GetDirectoryReference(folderPath); 
     var photoGalleries = new List<GalleryPhoto>(); 
     var blobs = blobDirectory.ListBlobs().ToList(); 

     ...rest of code 
    } 

、それを試してみた考え出し。 各アイテムには、BLOBごとにAzure Storage Explorerのプロパティを調べることによって検証されたメタデータがあります。

助けてください。

答えて

1

を参照してください。あなたがする必要があるのは、ListBlobsメソッド呼び出しでBlobListingDetailsパラメータを指定し、そこにBlobListingDetails.Metadataを指定することです。これが行うのは、応答内の各ブロブのメタデータです。したがって、コードは次のようになります。

public static IEnumerable<GalleryPhoto> GetGalleryPhotos(string folderPath) 
{ 

     var container = CreateAzureContainer(containerName, false); 
     container.FetchAttributes(); 
     var blobDirectory = container.GetDirectoryReference(folderPath); 
     var photoGalleries = new List<GalleryPhoto>(); 
     var blobs = blobDirectory.ListBlobs(false, BlobListingDetails.Metadata).ToList(); 

     ...rest of code 
    } 

これを試してください。それは動作するはずです。

+0

@Guarav Mantri ... ty、うまくいく – dinotom

関連する問題