I would like to upload a uint8_t array to azure storage using the azure storage SDK. I m struggling to construct the input stream from the array, I managed to get something that compile by using a std::vector but that require an extra copy of the array.
Do you think of a better way?
void upload(azure::storage::cloud_blob_container container, const wchar_t* blobName, const uint8_t * data, size_t dataLength) {
std::vector<uint8_t> bytes(dataLength, (const unsigned char)data);
concurrency::streams::bytestream byteStream = concurrency::streams::bytestream();
concurrency::streams::istream inputStream = byteStream.open_istream(bytes);
const utility::string_t myBlobName(blobName);
azure::storage::cloud_block_blob blockBlob = container.get_block_blob_reference(myBlobName);
blockBlob.upload_from_stream(inputStream);
inputStream.close();
}
the upload_from_stream method requieres a concurrency::streams::istream but I don't know how to construct if from a basic array
thank you by advance