Я пытаюсь прочитать файл csv из магазина Azure File Store с помощью FileHelpers. Как это работает?Как читать поток из Azure File Store с помощью Filehelpers
Я могу подключиться к файловому хранилищу azure и создать ссылку на te-файл. Это делается путем прокрутки каталогов и файлов, в этом примере они называются подкаталогом и именем файла.
Код:
//connect to storage account
CloudStorageAccount storageAccount = new CloudStorageAccount("link to account and credentials");
//connect to file client
CloudFileClient fileClient = storageAccount.CreateCloudFileClient();
//create cloudfileshare to in process
CloudFileShare inprocessShare = fileClient.GetShareReference("inprocess");
//get reference to root directory of inprocess share
CloudFileDirectory inprocessRootDir = inprocessShare.GetRootDirectoryReference();
//get reference to the subdirectory
CloudFileDirectory inprocessDir = inprocessRootDir.GetDirectoryReference(subdirectory);
//get reference to the current file
CloudFile destfile = inprocessDir.GetFileReference(filename);
Это работает, чтобы получить ссылку на файл, который я хочу обработать.
Когда я использую StreamReader я могу использовать следующий код, и это работает:
\\open stream
System.IO.Stream filepath = destfile.OpenRead()
\\read the file
System.IO.StreamReader file = new System.IO.StreamReader(filepath)
Но я хочу использовать FileHelpers, я попытался следующие:
\\create async filehelper
FileHelperAsyncEngine fhe = new FileHelperAsyncEngine<MyType>();
using (fhe.BeginReadFile(filepath))
Это дает ошибку что он принимает только строку в качестве входных данных. Когда я помещаю ссылку на локальный файл, такой как «C: \ inprocess \ filename.csv», он работает. Когда я помещаю полный URL-адрес в файл, я получаю сообщение об ошибке, что соединение не может быть проанализировано. Я также попытался отобразить общий доступ к файлам Azure на локальный диск. Это работает, но я хочу, чтобы это облачное приложение, и поскольку оно работает для StreamReader, я думаю, что он также должен работать для FileHelpers.
Спасибо! Так оно и было. – welleman
Я также пытаюсь использовать FileHelpers, но из Azure Function, и я получаю Не могу загрузить файл или сборку «FileHelpers, Version = 3.1.5.0, Culture = neutral, PublicKeyToken = 3e0c08d59cc3d657» или одну из его зависимостей. Поскольку у него нет зависимостей, есть проблема с использованием библиотеки ... – Schenz