2016-03-07 167 views
0

有没有办法做到这一点?Azure存储blob从url上传

我有很多在几台服务器和Amazon S3存储文件,并且需要从一个应用程序(Java /红宝石)

我宁愿不下载我的应用程序服务器上的这些文件,然后将其上传到上传到Azure的Azure blob存储。

我检查了Java和Ruby SDK,它似乎没有直接的方法基础上的例子来做到这一点(意味着我必须先下载我的应用程序服务器上的这些文件,并将其上传到Azure中)

更新: 刚刚在Java SDK中发现了约CloudBlockBlob.startCopy()。 尝试了它,它基本上是我想要的,而不使用第三方工具,如AzCopy。

+0

我写了一篇博客文章不久前在Azure中的Blob容器复制S3斗,你可能会发现有用:http://gauravmantri.com/2012/06/15/how-to-copy-a-bucket-from -amazon-S3到Windows-天青-BLOB存储-使用拷贝-斑点/。请注意,这里使用的一些函数可能会被弃用,但是这篇文章应该给你一个关于如何实现这个功能的想法。 –

+0

您好@GauravMantri,感谢您的博文,我在google上搜索过,并在打开此问题之前找到您的博客文章,因为我正在寻找Java解决方案。你说得对,这个功能已经被弃用了,但它确实告诉我在哪里寻找。 再次感谢您的评论和伟大的博客文章。 – edthix

+0

仅供参考:AzCopy不是第三方工具。这是微软创建和维护的。 –

回答

0

你有几个选项,主要是许可的,但我认为AzureCopy是你最好的免费替代品。您可以检查step by step experience on MSDN Blogs

所有你需要的是在这两项服务和一个简单的命令的访问键:

azurecopy -i https://mybucket.s3-us-west-2.amazonaws.com/ -o https://mystorage.blob.core.windows.net/mycontainer -azurekey %AzureAccountKey% -s3k %AWSAccessKeyID% -s3sk %AWSSecretAccessKeyID% -blobcopy -destblobtype block

您可以从一个容器传斑点其他。

+0

感谢您的提示,我已更新我的问题。 AzureCopy不是我正在寻找的。 – edthix

1

正如@EmilyGerner所说,AzCopy是微软的官方工具,而@MatiasQuaranta所说的AzureCopy是GitHub https://github.com/kpfaulkner/azurecopy上的第三方工具。

简单的方法是使用AWS Command LineAzCopy从S3的所有文件复制到本地目录Azure的Blob存储。你可以参考我的答案为其他线程Migrating from Amazon S3 to Azure Storage (Django web app)。但它只适用于小数据量的存储桶。

另一种有效的方法是使用Amazon S3和Azure Blob Storage for Java SDK进行编程。根据我的经验,用于Java的Azure SDK API与C#类似,因此您可以尝试引用Azure Blob Storage Getstarted doc for JavaAWS SDK for Java以遵循@GauravMantri示例代码重新编写Java代码。