2015-05-12 20 views
0

我在Microsoft Azure中有大约200 GB的文件。我想将它传输到AWS S3。如何使用C#将文件从Azure传输到AWS?

是否可以将所有文件从Azure传输到AWS,而无需下载本地计算机上的每个文件?

+0

hello downVoter?你有没有对沃茨错误后的任何解释downvote habbit? atleast你应该评论如果有任何错误的帖子?我是Azure和AWS的新蜜蜂。如果你不知道答案,只需保留它! –

回答

0

此示例代码可以帮助你的文件传输,但你不能避免的文件下载到本机执行的代码:

using System; 
using Amazon.S3; 
using Amazon.S3.Transfer; 
using Microsoft.WindowsAzure.Storage; 
using Microsoft.WindowsAzure.Storage.Auth; 
using Microsoft.WindowsAzure.Storage.Blob; 

namespace Sample 
{ 
    class UploadFileFromAzureToS3 
    { 
     static string existingBucketName = "[Bucket name]"; 
     static string keyName = "[Your object key]"; 

     static void Main(string[] args) 
     { 
      TransferUtility fileTransferUtility = new TransferUtility(new AmazonS3Client(Amazon.RegionEndpoint.USEast1)); 

      CloudStorageAccount storageAccount = CloudStorageAccount.Parse("DefaultEndpointsProtocol=https;AccountName=[Storage Account Name];AccountKey=[Storage Account Primary Key]"); 
      CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient(); 

      CloudBlobContainer container = blobClient.GetContainerReference("[Your container]"); 

      CloudBlockBlob blockBlob = container.GetBlockBlobReference("[File Name]"); 

      using (var fileToUpload = new MemoryStream()) 
      { 
       blockBlob.DownloadToStream(fileToUpload); 
       fileTransferUtility.Upload(fileToUpload, existingBucketName, keyName); 
      } 
     } 
    } 
} 

如果你只是需要将文件传输一次,你可以使用RedGate提供的blob存储备份服务:https://cloudservices.red-gate.com/Home/Features#storageBackup(您有10天的试用期)。

+0

我们不能用C#来做这个吗? –

+0

向答案添加了示例C#代码。 – gbellmann

相关问题