繁体   English   中英

从URL上传Azure存储Blob

[英]Azure storage blob upload from url

有没有办法做到这一点?

我在少数服务器和Amazon s3存储上有大量文件,需要从一个应用程序(Java / Ruby)上传到Azure

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

我已经检查了Java和Ruby sdk,基于示例,似乎没有直接的方法(这意味着我必须先在应用服务器上下载这些文件,然后将其上传到Azure)

更新 :刚刚在Java SDK中找到有关CloudBlockBlob.startCopy()的信息。 尝试了它,这基本上是我想要的,而无需使用诸如AzCopy之类的第三方工具。

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

简单的方法是使用AWS Command LineAzCopy将所有文件从S3复制到本地目录再复制到Azure Blob存储。 您可以参考我的答案,了解从Amazon S3迁移到Azure存储(Django Web应用程序)的其他线程。 但是它仅适用于较小的数据大小存储桶。

另一种有效的方法是使用Amazon S3和Java的Azure Blob存储的SDK进行编程。 根据我的经验,适用于Java的Azure SDK API与C#相似,因此您可以尝试参考适用于Java的Azure Blob存储入门文档适用于Java的 AWS开发工具包,以遵循@GauravMantri示例代码来重写Java中的代码。

您有几种选择,大多数都是许可的,但是我认为AzureCopy是您最好的免费选择。 您可以在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

您可以将Blob从一个容器传递到另一个容器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM