Exemplo n.º 1
0
        /// <summary>
        /// Blob Storageからファイルを取得する
        /// </summary>
        /// <param name="blobClient">Blobクライアント</param>
        /// <param name="containerName">Blob Storageのコンテナ名</param>
        /// <param name="rootDir">取得先のディレクトリ</param>
        /// <returns>取得したファイルのローカルパス</returns>
        public static string[] GetFiles(this CloudBlobClient blobClient, string containerName, DirectoryInfo rootDir)
        {
            List <string> files = new List <string>();

            foreach (CloudBlockBlob blockBlob in blobClient.GetBlockBlobs(containerName))
            {
                string filePath = Path.Combine(rootDir.FullName, blockBlob.Name).Replace('/', '\\');
                Directory.CreateDirectory(Path.GetDirectoryName(filePath));

                blockBlob.DownloadToFileAsync(filePath, FileMode.Create).Wait();

                files.Add(filePath);
            }

            return(files.ToArray());
        }