<appSettings>
<add key="SourceStorageConnectionString" value="connectionString" />
<add key="DestinationStorageConnectionString" value="connectionString" />
<add key="SourceContainer" value="source-container" />
<add key="DestinationContainer" value="destination-container" />
<add key="BlobName" value="AzureBlobInputProduct.txt" />
</appSettings>
using Microsoft.WindowsAzure;
using Microsoft.WindowsAzure.Storage;
using Microsoft.WindowsAzure.Storage.Blob;
using System;
using System.IO;
using System.Threading.Tasks;
//copy container with blob one storage account to another storage account
namespace BlobCopyOneStorageToAnother
{
class Program
{
static void Main(string[] args)
{
//Get source and destination azure storage account connection string from app.config
CloudStorageAccount sourceStorageConnectionString = CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting("SourceStorageConnectionString"));
CloudStorageAccount destinationStorageConnectionString = CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting("DestinationStorageConnectionString"));
CloudBlobClient sourceCloudBlobClient = sourceStorageConnectionString.CreateCloudBlobClient();
CloudBlobClient targetCloudBlobClient = destinationStorageConnectionString.CreateCloudBlobClient();
//Get source and destination container name from app.config
CloudBlobContainer sourceContainer = sourceCloudBlobClient.GetContainerReference(CloudConfigurationManager.GetSetting("SourceContainer"));
CloudBlobContainer destinationContainer = targetCloudBlobClient.GetContainerReference(CloudConfigurationManager.GetSetting("DestinationContainer"));
//Get source blob name from app.config
string blobName = CloudConfigurationManager.GetSetting("BlobName");
//Create container into blob if not exists
destinationContainer.CreateIfNotExists();
Console.WriteLine("Started coping blob: " + blobName + " from container " + sourceContainer.Name +" to "+ destinationContainer.Name);
CloudBlockBlob sourceBlob = sourceContainer.GetBlockBlobReference(blobName);
CloudBlockBlob targetBlob = destinationContainer.GetBlockBlobReference(blobName);
//copy blob from source to destination
targetBlob.StartCopy(sourceBlob);
Console.WriteLine(blobName + " blob copied has been successful.");
Console.Read();
}
}
}