2

コンテナー内の BLOB を一覧表示したいと考えています。デスクトップ アプリの場合、Azure Storage SDK は次の方法を提供します。

CloudBlobContainer container = blobClient.GetContainerReference("myBlob"); 
container.ListBlobs();

ただし、WinRT ライブラリを使用すると、このメソッドは存在しません (おそらくブロッキングの性質のため)。代わりに何を使用すればよいですか?

4

2 に答える 2

6

ListBlobsSegmentedAsyncBLOB のリストを取得するには、BLOB コンテナーで関数を使用する必要があります。たとえば、次のコードを参照してください。

    CloudStorageAccount account = new CloudStorageAccount(new StorageCredentials("accountname", "accountkey"), true);
    var client = account.CreateCloudBlobClient();
    var container = client.GetContainerReference("containername");
    BlobContinuationToken continuationToken = null;
    string prefix = null;
    bool useFlatBlobListing = true;
    BlobListingDetails blobListingDetails = BlobListingDetails.All;
    int maxBlobsPerRequest = 10;
    List<IListBlobItem> blobs = new List<IListBlobItem>();
    do
    {
        var listingResult = await container.ListBlobsSegmentedAsync(prefix, useFlatBlobListing, blobListingDetails, maxBlobsPerRequest, continuationToken, null, null);
        continuationToken = listingResult.ContinuationToken;
        blobs.AddRange(listingResult.Results);
    }
    while (continuationToken != null);
于 2013-04-17T06:36:38.943 に答える
0

Azure 2.2 をサポートするように変更されたコード

CloudStorageAccount account = new CloudStorageAccount(new StorageCredentials("accountname", "accountkey"), true);
var client = account.CreateCloudBlobClient();
var container = client.GetContainerReference("containername");
BlobContinuationToken continuationToken = null;
string prefix = null;
bool useFlatBlobListing = true;
BlobListingDetails blobListingDetails = BlobListingDetails.All;
int maxBlobsPerRequest = 10;
List<IListBlobItem> blobs = new List<IListBlobItem>();
do
{
    var listingResult = await container.ListBlobsSegmentedAsync(prefix, useFlatBlobListing, blobListingDetails, maxBlobsPerRequest, continuationToken, null, null);
    continuationToken = **listingResult.Result.ContinuationToken;**
    blobs.AddRange(**listingResult.Result.Results**);
}
while (continuationToken != null);
于 2014-06-19T03:06:23.627 に答える