Простое чтение блобов C ++ Azure создает поток нулей и не продвигает позицию потока - PullRequest
0 голосов
/ 27 февраля 2019

Код ниже:

auto storage_account = azure::storage::cloud_storage_account::parse(location.ConnectionString);
auto blob_client = storage_account.create_cloud_blob_client();
auto container = blob_client.get_container_reference(location.Container);
auto blockBlob = container.get_block_blob_reference(location.File);

auto istream = blockBlob.open_read();
uint32_t content;
while(!istream.is_eof())
{
    istream >> content;
    std::cout << "Read from blob:" <<  content << std::endl;
}

просто выдает вывод «Read from blob: 0» навсегда.Используемый входной файл содержит только текст 1-4 в отдельных строках.

Сначала работает чтение всего большого двоичного объекта в память:

concurrency::streams::container_buffer<std::vector<char>>& readBuffer = *blob.Read();
vectorwrapbuf<char> buf(readBuffer.collection());
std::istream readThis(&buf);

, где vectorwrapbuf оборачивает нижележащий блок памяти из чтения так,его можно использовать в istream.

Вопрос в том, что не так с более простой версией?

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