Хранилище больших двоичных объектов Azure и файловая служба
пожалуйста, исправьте мои ошибки. Из моего чтения по этой теме до сих пор мне кажется, что как хранилище больших двоичных объектов Azure, так и файловая служба предлагают возможность хранить файлы и папки(я понимаю, что большие двоичные объекты могут хранить любой двоичный объект, но любой сериализованный двоичный поток-это просто файл в конце дня) в иерархической структуре, которая имитирует файловую систему.
только API для доступа к ним немного отличается тем, что файловый сервис позволяет запрашивать исходный код с помощью Win32 File I / O как функции, а также В дополнение к использованию REST API.
Почему вы выбрали один над другим, если вы хотите, чтобы ваше приложение хранило некоторые файлы, принадлежащие пользователям вашего приложения?
3 ответа:
несколько пунктов для вашего вопроса:
- вы не можете подключить хранилище больших двоичных объектов Azure в качестве собственного общего ресурса на виртуальной машине.
- хранилище больших двоичных объектов Azure не является иерархическим за пределами контейнеров. Вы можете добавить файлы, которые имеют / или \ символы в них, которые интерпретируются как папки многими приложениями, которые читают хранилище больших двоичных объектов.
- служба файлов Azure предоставляет интерфейс протокола SMB для хранилища больших двоичных объектов Azure, который решает проблему с (1).
Если вы разрабатывают новое приложение, а затем используют собственный API Azure непосредственно в хранилище больших двоичных объектов.
Если вы переносите существующее приложение, которое должно обмениваться файлами, используйте файловую службу Azure.
обратите внимание, что есть несколько функций протокола SMB, которые служба файлов Azure не поддерживает.
несколько других вещей, чтобы рассмотреть:
- цены: хранение больших двоичных объектов намного дешевле, чем хранение файлов.
- переносимость: с хранилищем blob если вы решите перейти на платформу diff в будущем вам, возможно, придется изменить код приложения, но с хранилищем файлов вы можете перенести свое приложение на любую другую платформу, поддерживающую SMB (при условии, что вы используете собственные API файловой системы в своем приложении)
служба файлов Azure больше ориентирована на внутреннюю обработку файлов. С внутренним я имею в виду подключение каталога к виртуальной машине в облаке или локально, чтобы его можно было загрузить в серверную часть (протокол на основе SMB).
для обмена файлами с конечными пользователями (веб или приложения), вероятно, имеет больше смысла использовать хранилище blob, поскольку это упрощает загрузку через URL-адрес и защиту загрузки через подписи общего доступа.
этот пост делится более подробной информацией о сравнении (на снизу): https://blogs.msdn.microsoft.com/windowsazurestorage/2014/05/12/introducing-microsoft-azure-file-service/