Via*_*lav 2 c# azure windows-8
我想在容器中列出blob.对于桌面应用程序,Azure Storage SDK提供以下方法:
CloudBlobContainer container = blobClient.GetContainerReference("myBlob");
container.ListBlobs();
Run Code Online (Sandbox Code Playgroud)
但是,使用WinRT库时,该方法不存在(可能是由于其阻塞性质).我应该用什么呢?
您需要使用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);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1612 次 |
| 最近记录: |