Хранилище Azure Blob и файловая служба

Пожалуйста, исправьте мои ошибки. Из моих чтений по этой теме мне кажется, что оба, Azure Blob Storage и File Service предлагают возможность хранить файлы и папки (я понимаю, что blobs могут хранить любой двоичный объект, но любые сериализованные двоичный поток - это всего лишь файл в конце дня) в иерархической структуре, которая имитирует файловую систему.

Только API для доступа к ним несколько отличается тем, что файловая служба позволяет запрашивать исходный код с помощью аналогичных функций Win32 File I/O, а также использовать REST API.

Почему вы выбираете один за другим, если хотите, чтобы ваше приложение хранили некоторые файлы, принадлежащие вашим приложениям?

Ответ 1

Несколько вопросов по вашему вопросу:

  • Вы не можете монтировать хранилище Azure Blob в качестве основного ресурса на виртуальной машине.
  • Хранилище Azure Blob не является иерархическим за пределами контейнеров. Вы можете добавлять файлы, в которых есть/или\символы в них, которые интерпретируются как папки многими приложениями, которые читают хранилище памяти.
  • Azure File Service предоставляет интерфейс протокола SMB для хранения Azure Blob Storage, который решает проблему с (1).

Если вы разрабатываете новое приложение, тогда используйте собственный API Azure непосредственно в хранилище Blob.

Если вы переносите существующее приложение, которому необходимо обмениваться файлами, используйте службу Azure File Service.

Обратите внимание, что есть несколько функций протокола SMB, которые Azure File Service не поддерживает.

Ответ 2

Несколько других вещей, которые следует учитывать:

  • Ценообразование: хранилище Blob намного дешевле, чем хранение файлов.
  • Переносимость: если вы захотите перейти на платформу diff в будущем, вам может потребоваться изменить код приложения, но с помощью хранилища файлов вы можете перенести приложение на любую другую платформу, поддерживающую SMB (при условии, что вы используете собственный файл системных API в вашем приложении)

Ответ 3

Azure File Service больше ориентирована на внутреннюю обработку файлов. С внутренним я имею в виду монтаж каталога в виртуальную машину в облаке или на месте, чтобы он мог быть загружен в ваш сервер (протокол на основе SMB).

Для обмена файлами с конечными пользователями (веб-или приложениями), вероятно, имеет смысл использовать хранилище blob, поскольку это упрощает загрузку через URL-адрес и обеспечивает загрузку через сигнатуры общего доступа.

В этом сообщении содержится более подробная информация о сравнении (внизу): https://blogs.msdn.microsoft.com/windowsazurestorage/2014/05/12/introducing-microsoft-azure-file-service/