// TODO: Improve this

        /// <summary>
        /// Returns a BinaryReader instance for reading using an IStorageClient.
        /// </summary>
        /// <param name="fileUri">URI of the resource to read.</param>
        /// <param name="outputStream">Stream to read data into.</param>
        /// <param name="storageClient">IStorageClient implementation to use when reading from the source data store.</param>
        /// <param name="storageConnectionString">Connection string to the source data store.</param>
        /// <param name="storageContainerName">The name of the container containing the file to read.</param>
        /// <param name="log">Trace logger instance.</param>
        /// <returns>A BinaryReader instance.</returns>
        public static BinaryReader GetBinaryReader(string fileUri, Stream outputStream, IStorageClient storageClient, Secret storageConnectionString, string storageContainerName, ILogger log)
        {
            storageClient.ReadToStreamAsync(outputStream, storageConnectionString, storageContainerName, fileUri).Wait();
            outputStream.Seek(0, SeekOrigin.Begin);

            return(new BinaryReader(outputStream));
        }
Esempio n. 2
0
        private async Task <string> TranscribeAudioStorageUriCommonAsync(Secret apiKey, string region, string audioFileUri, IStorageClient storageClient, Secret storageConnectionString, string storageContainerName, ILogger log)
        {
            using (MemoryStream outputStream = new MemoryStream())
            {
                await storageClient.ReadToStreamAsync(outputStream, storageConnectionString, storageContainerName, audioFileUri);
            }

            return(string.Empty);
        }