2016-03-07 181 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代碼。