BLOB-объекты Azure: получение списка блокировки в C # - PullRequest
4 голосов
/ 02 июня 2011

Я работаю с Блоковыми объектами в хранилище Azure.Мне нужно получить незафиксированные блоки, так как я обнаружил, что мне нужно вызвать «Получить список заблокированных».Вот проблема.

Есть ли в C # функциональность «Получить список блокировок» (Microsoft.WindowsAzure.StorageClient.dll)?

MSDN говорит только о выполнении запроса HTTP, а не оStorageClient API.

Если эта функция не существует в C #, есть ли планы включить ее в C # API?

Ответы [ 2 ]

5 голосов
/ 03 июня 2011

Я думаю, что вы ищете метод DownloadBlockList в CloudBlockBlob http://msdn.microsoft.com/en-us/library/microsoft.windowsazure.storageclient.cloudblockblob.downloadblocklist.aspx

В MSDN есть пример кода - http://msdn.microsoft.com/en-us/library/ee772860.aspx

static void DownloadBlockListForBlob(Uri blobEndpoint, string accountName, string accountKey)
{
    //Create service client for credentialed access to the Blob service, using development storage.
    CloudBlobClient blobClient = new CloudBlobClient(blobEndpoint, new StorageCredentialsAccountAndKey(accountName, accountKey)); 

    //Get a reference to a block blob.
    CloudBlockBlob blockBlob = blobClient.GetBlockBlobReference("mycontainer/mybinaryblob.mp3");

    //Download the committed blocks in the block list.
    foreach (var blockListItem in blockBlob.DownloadBlockList())
    {
        Console.WriteLine("Block ID: " + blockListItem.Name);
        Console.WriteLine("Block size: " + blockListItem.Size);
        Console.WriteLine("Is block committed?: " + blockListItem.Committed);
        Console.WriteLine();
    }

    //Download only uncommitted blocks.
    foreach (var blockListItem in blockBlob.DownloadBlockList(BlockListingFilter.Uncommitted))
    {
        Console.WriteLine("Block ID: " + blockListItem.Name);
        Console.WriteLine("Block size: " + blockListItem.Size);
        Console.WriteLine("Is block committed?: " + blockListItem.Committed);
        Console.WriteLine();
    }

    //Download all blocks.
    foreach (var blockListItem in blockBlob.DownloadBlockList(BlockListingFilter.All))
    {
        Console.WriteLine("Block ID: " + blockListItem.Name);
        Console.WriteLine("Block size: " + blockListItem.Size);
        Console.WriteLine("Is block committed?: " + blockListItem.Committed);
        Console.WriteLine();
    }
}
0 голосов
/ 02 июня 2011

Возможно, вы захотите изучить класс GetBlockListResponse в пространстве имен Microsoft.WindowsAzure.StorageClient.Protocol: http://msdn.microsoft.com/en-us/library/ee758632.aspx

Надеюсь, это поможет

Спасибо

Gaurav

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...