0

Я разрабатываю приложение для Android, которое использует лазурные мобильные службы. И я хочу загрузить большие файлы из azure storage на android. Я хочу загрузить большие файлы в блок или что-то в этом роде. Как мне это сделать ? Для этого есть java-библиотека?Загрузка больших файлов с Azure на Android

+0

ли Azure SDK для Java (https: // GitHub .com/WindowsAzure/azure-sdk-for-java) работают на Android? –

+0

Не знаю. Если он работает, могу ли я использовать его для этого? Я использую azure мобильные услуги. –

+0

Нет, теперь он не работает. –

ответ

1

Служба хранения данных Blob поддерживает загрузку данных в куски, поэтому можно загружать очень большой файл в куски, и когда все куски были загружены, вы можете собрать их для создания файла.

Я не работал с Android/Java как таковой, так что я не знаю, точные детали реализации, но, вообще говоря, это то, что вы могли бы сделать:

  • Получить Подпись Shared Access (SAS) в файле (blob), который вы пытаетесь загрузить. Вы можете использовать Windows Azure Mobile Service для этой цели. Убедитесь, что вы получили SAS с разрешением Read на blob. Рекомендуется использовать SAS, потому что вам не нужно передавать учетные данные учетной записи на устройстве. Вы можете посмотреть учебник здесь, чтобы создать URL-адрес SAS для вашего блоба с помощью Mobile Service (http://www.windowsazure.com/en-us/develop/mobile/tutorials/upload-images-to-storage-dotnet/).
  • Как только у вас есть URI SAS, вы можете либо использовать REST API напрямую, чтобы загружать blob в куски. Вам нужно будет вызвать операцию Get Blob. Размер блока должен быть передан в заголовке запроса Range. Я не уверен, что Java Storage Client Library для Azure можно использовать на Android, но если его можно использовать, вам не нужно использовать REST API, так как клиентская библиотека является оболочкой над REST API.
  • Как только все куски загружаются, вы можете просто собрать их, чтобы создать файл.
0

Текущая библиотека Java для Azure Storage в настоящий момент не поддерживает Android (это запрос функции, который у нас есть, и это то, что мы сейчас изучаем). На высоком уровне не рекомендуется использовать полную аутентификацию с общим ключом на мобильном устройстве по соображениям безопасности, так как использование SAS или анонимного доступа является предпочтительным сценарием. Если ваш сценарий - просто загрузить blob, достаточно простого запроса GET с заголовком диапазона, но вам нужно будет реализовать логику для объединения диапазонов blob в вашем приложении.

0

Я продолжаю удалять этот устаревший вопрос от Google, поэтому, ради полноты, я добавил этот актуальный ответ (я пытался добавить это как комментарий, но он был слишком длинным).

Ссылка для мобильных услуг:

http://azure.microsoft.com/en-gb/develop/mobile/android-samples/

и ссылка для Microsoft Azure Storage SDK является:

https://github.com/Azure/azure-storage-android

Смежные вопросы