FileHelpersを使用してAzure File Storeからcsvファイルを読み込もうとしています。これはどのように作動しますか?Filehelpersを使用してAzure File Storeからストリームを読み取る方法
私は紺碧のファイルストアに接続し、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 File Shareをローカルのドライブレターにマップしようとしました。これはうまくいきますが、私はそれを雲のアプリケーションにしたい、そして、それがStreamReaderで動作するので、FileHelpersでもうまくいくはずだと思います。
おかげのような何かをする必要があるので、それはたTextReaderを使用していますFileHelperAsyncEngine
のBeginReadStreamを使用する必要があります!それがそれでした。 – welleman
私もFileHelpersを使用しようとしていますが、Azure関数から、ファイルまたはアセンブリ 'FileHelpers、Version = 3.1.5.0、Culture = neutral、PublicKeyToken = 3e0c08d59cc3d657'またはその依存関係の1つを読み込めませんでした。それは依存関係がないので、ライブラリを使用するだけで問題があります... – Schenz