我在Microsoft Azure中有大约200 GB的文件。我想将它传输到AWS S3。如何使用C#将文件从Azure传输到AWS?
是否可以将所有文件从Azure传输到AWS,而无需下载本地计算机上的每个文件?
我在Microsoft Azure中有大约200 GB的文件。我想将它传输到AWS S3。如何使用C#将文件从Azure传输到AWS?
是否可以将所有文件从Azure传输到AWS,而无需下载本地计算机上的每个文件?
此示例代码可以帮助你的文件传输,但你不能避免的文件下载到本机执行的代码:
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天的试用期)。
我们不能用C#来做这个吗? –
向答案添加了示例C#代码。 – gbellmann
hello downVoter?你有没有对沃茨错误后的任何解释downvote habbit? atleast你应该评论如果有任何错误的帖子?我是Azure和AWS的新蜜蜂。如果你不知道答案,只需保留它! –