Хранилище файлов Azure: создание общего ресурса для служб приложений

Я создал службу приложений с Tomcat и веб-приложение, которое должно хранить файлы, которые должны быть доступны другому веб-приложению в другой службе приложений. Приложение принимает только абсолютные пути к файлам.

Если бы я поместил свои веб-приложения в виртуальную машину, я мог бы создать общий ресурс для моего файлового хранилища Azure, но я думаю, что это невозможно для службы приложений (я получаю отказ в доступе при выполнении сетевого использования ... в консоли). Я пробовал: \ mystorage.file.core.windows.net \ myfiles, но он не записывается. Должно ли это сработать? Есть ли способ указать unc-путь к лазурному расположению, к которому у обеих моих служб приложений есть доступ? Или я должен создать виртуальные машины для этого?


person Marcel Hoekstra    schedule 12.10.2016    source источник


Ответы (1)


Вы можете использовать виртуальную машину, как вы предложили, для совместного использования файлов при условии, что ваше веб-приложение имеет соответствующий доступ в той же виртуальной сети и т. Д.

Однако виртуальная машина, хотя и способна использовать долговременное хранилище, будет время от времени отключаться (например, обновлять ОС хоста).

Тем не менее, в Azure есть особая функция именно для этого варианта использования: хранилище файлов Azure, которое располагается поверх хранилища больших двоичных объектов и предоставляет общий ресурс SMB. Тома файлового хранилища доступны через веб-приложения через API / SDK (вы не можете подключить том SMB к веб-приложениям).

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

person David Makogon    schedule 12.10.2016
comment
спасибо за Ваш ответ. Я попытался настроить этот путь: \\ mystorage.file.core.windows.net \ myfiles, но мне не удалось записать данные. Приложение находится в том же месте и группе ресурсов, что и хранилище файлов. Вы хоть представляете, что может быть не так? - person Marcel Hoekstra; 12.10.2016
comment
См. Комментарий Дэвида Эббо здесь: stackoverflow.com/a/33545941/483776 В настоящее время вы не можете подключить общий ресурс SMB с веб-приложением . - person Jacob Foshee; 26.04.2017
comment
@JacobFoshee - вы правы - и когда я первоначально опубликовал этот ответ, это было кратковременное нарушение рассудка (поскольку я опубликовал другие ответы в точности так, как вы и Дэвид заявили). Сейчас редактирую. - person David Makogon; 26.04.2017
comment
Вы можете использовать виртуальную машину, как это будет работать? Службы приложений блокируют порты SMB: github.com/ projectkudu / kudu / wiki /. Есть ли способ сделать это не по SMB? - person Ojen; 09.07.2019
comment
@Ojen - в моем ответе конкретно говорится, что для использования службы файлов Azure вы должны полагаться на SDK, поскольку у вас не может быть SMB-монтирования. Что касается доступа к файлам через виртуальную машину, вам нужно будет каким-то образом передать файл службе приложения (но, как вы указали, не через SMB). И SDK файловой службы специфичен для Azure; это не общий SDK SMB. Мой ответ был больше сосредоточен на совместном использовании файлов с виртуальными машинами (что я попытался уточнить в конце своего ответа). - person David Makogon; 10.07.2019