我正在开发一款使用azure移动服务的Android应用。我想从android上的azure存储下载大文件。我想下载块中的大文件或类似的东西。我该怎么做 ?有没有Java库?
答案 0 :(得分:1)
Blob存储服务支持以块的形式下载数据,因此可以分段下载非常大的文件,当下载完所有文件后,您可以将它们组合起来创建文件。
我没有使用过Android / Java,所以我不知道实现的具体细节,但一般来说这就是你要做的事情:
Read
权限的SAS。建议使用SAS,因为您无需在设备上共享帐户凭据。您可以在此处查看教程,以使用移动服务(http://www.windowsazure.com/en-us/develop/mobile/tutorials/upload-images-to-storage-dotnet/)为您的blob创建SAS URL。Get Blob
操作。块大小应该在Range
请求标头中传递。我不确定是否可以在Android上使用适用于Azure的Java存储客户端库,但是如果可以使用它,那么您不必使用REST API,因为客户端库是REST API的包装器。答案 1 :(得分:0)
目前用于Azure存储的Java库目前不支持Android(这是我们提供的功能请求,我们目前正在研究这个功能)。由于安全原因,建议不要在移动设备上使用完全共享密钥身份验证,因此使用SAS或匿名访问是首选方案。如果您的方案是简单地下载blob,那么使用范围标头的简单GET请求就足够了,但是您需要实现逻辑来聚合应用程序中的blob范围。
答案 2 :(得分:0)
我一直在向谷歌提出这个过时的问题,所以为了完整起见,我已经添加了这个最新的答案(我试图将其添加为评论,但它太长了。)
移动服务的链接是:
http://azure.microsoft.com/en-gb/develop/mobile/android-samples/
以及Microsoft Azure Storage SDK的链接: