logファイルの種類が追加Blob(AppendBlob)の場合は、CloudAppendBlobを使用する。imageの場合は、ブロックBlob(BlockBlob)であったので、CloudBlockBlobを使用。image fileと同じだと思って、CloudBlockBlobを使おうとしたら以下のエラーメッセージがでて少しはまった。
Blob type of the blob reference doesn't match blob type of the blob
public static void DownloadLog(string filename)
{
CloudBlobContainer container = GetBlobContainer("log");
// ダウンロードするファイル名を指定
CloudAppendBlob appendBlob_download = container.GetAppendBlobReference(filename);
//ダウンロード後のパスとファイル名を指定。
string path = Directory.GetCurrentDirectory() + "\\log\\" + DateTime.Now.ToString("yyyyMMdd") + ".log";
appendBlob_download.DownloadToFile(path, FileMode.CreateNew);
}
private static CloudBlobContainer GetBlobContainer(string folder)
{
// Retrieve storage account from connection string.
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(
CloudConfigurationManager.GetSetting("StorageConnectionString"));
// Create the blob client.
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
// Retrieve a reference to a container.
CloudBlobContainer container = blobClient.GetContainerReference(folder);
return container;
}