FTP в хранилище BLOB-объектов Azure

Мне пришлось настроить безопасный FTP для хранилища BLOB-объектов Azure с помощью популярных FTP-клиентов (например, FileZilla). Проведя много исследований, я наткнулся на ссылку, в которой говорится:

Развернутый в рабочей роли, код создает FTP-сервер, который может принимать соединения от всех популярных FTP-клиентов (например, FileZilla) для управления вашей учетной записью хранилища BLOB-объектов.

Следуя инструкциям по ссылке, я реализовал то же самое и развернул рабочую роль в производственной среде Azure, и это было успешно. Но все же я не могу подключиться к FTP-серверу (указанному мной в файле конфигурации) с помощью FileZilla. Я не знаю, что я сделал не так или что-то упустил.


person techV    schedule 12.10.2016    source источник
comment
Но почему? Уже есть два очень хороших клиента службы хранилища Azure в стиле FTP: storageexplorer.com и azurestorageexplorer.codeplex.com   -  person evilSnobu    schedule 12.10.2016
comment
@evilSnobu спасибо !!! .... значит, вы хотите сказать, что мне не нужна настройка ftp, и я могу сделать это с помощью обозревателя хранилища Azure. также может выгружать и скачивать файлы BLOB-объектов.   -  person techV    schedule 12.10.2016
comment
Совершенно верно.   -  person evilSnobu    schedule 12.10.2016
comment
да я получил его. Я потратил почти два дня на поиск решения этого безопасного ftp-соединения. полностью признателен .. спасибо приятель.   -  person techV    schedule 12.10.2016
comment
@evilSnobu эй ... одна вещь, что если нам нужно предоставить доступ нашим клиентам, не сообщая им конфиденциальную информацию, такую ​​как ключ учетной записи. поскольку, чтобы использовать обозреватель хранилища, они должны иметь эту информацию для подключения.   -  person techV    schedule 12.10.2016
comment
Взгляните на storageexplorer.com. Он позволяет подключаться к учетной записи хранения с помощью Shared Access Signature, который не включает ключ учетной записи.   -  person Gaurav Mantri    schedule 12.10.2016
comment
@GauravMantri, спасибо ... не могли бы вы также сказать мне, где я найду или получу URI SAS ... когда я пытаюсь подключиться к отдельному blob, он запрашивает у меня URI SAS.   -  person techV    schedule 12.10.2016
comment
Вам нужно будет создать URI SAS либо в большом двоичном объекте, либо в контейнере больших двоичных объектов (в зависимости от того, что вы пытаетесь сделать). Вы можете создать SAS URI, используя сам этот инструмент или программно. Я настоятельно рекомендую прочитать azure.microsoft.com/en-in/documentation/articles/, чтобы узнать больше о SAS. HTH.   -  person Gaurav Mantri    schedule 12.10.2016
comment
@GauravMantri отлично .. конечно, я пройду через это. Спасибо за ваше время :)   -  person techV    schedule 12.10.2016
comment
@evilSnobu Был бы признателен, если бы вы могли оставить свои комментарии в качестве ответа.   -  person Gaurav Mantri    schedule 12.10.2016
comment
См. также: stackoverflow.com/questions/ 13195871 / windows-azure-and-sftp   -  person dreftymac    schedule 09.10.2019
comment
Я не считаю, что проводник хранилища является очень хорошим средством передачи в стиле FTP. Мне не очень нравилась возможность повторной попытки / возобновления для больших файлов размером в несколько ГБ.   -  person JJ_Coder4Hire    schedule 22.10.2020


Ответы (2)


Но почему?

Уже существует два очень хороших клиента службы хранилища Azure в стиле FTP:
http://storageexplorer.com и http://azurestorageexplorer.codeplex.com

Оба они, как хорошо указано в @Guarav, могут использовать Shared Access Signature (SAS) для подключения к хранилищу Azure без раскрытие ключа учетной записи. Затем вы можете использовать разные SAS для каждого клиента, если вы создаете многопользовательскую службу - хотя, если подумать, это не очень разумная граница разделения.

Использовать SAS

Я бы использовал отдельную учетную запись для каждого клиента. Таким образом, если учетная запись хранения будет скомпрометирована, это затронет только одного клиента. Применяется следующий предел:

Из https://azure.microsoft.com/en-us/documentation/articles/storage-scalability-targets/:

Цели масштабируемости для больших двоичных объектов, очередей, таблиц и файлов

Количество учетных записей хранения на подписку: 200.

Сюда входят учетные записи хранения Standard и Premium. Если вам требуется более 200 учетных записей хранения, отправьте запрос через службу поддержки Azure. Группа службы хранилища Azure рассмотрит ваше экономическое обоснование и может утвердить до 250 учетных записей хранения.

person evilSnobu    schedule 13.10.2016
comment
Часто серверы SFTP используются поставщиками для отправки каналов данных, и вы не можете просто сказать им использовать Storage Explorer, потому что канал автоматизирован из существующей системы. - person Eric Grover; 25.06.2017
comment
В этом сценарии лучшим вариантом будет FTP-сервер в виртуальной машине (или облачной службе) с файловым ресурсом Azure в качестве хранилища, поэтому вы можете рассматривать вычислительную часть более или менее как не имеющую состояния. Service Fabric также является хорошим вариантом с ее моделью программирования Reliable Services. - person evilSnobu; 25.06.2017
comment
хорошо, просто разверните виртуальную машину Linux с помощью vsftpd или что-то в этом роде. OP никогда не упоминает автоматизацию, но дважды упоминает FileZilla. - person evilSnobu; 29.08.2018
comment
Возможно, я ошибаюсь, но обозреватель хранилища не обладает всеми возможностями ftp-клиента, такими как: (1) загрузка всего контейнера, (2) загрузка всех BLOB-объектов из контейнера (они отображаются с разбивкой на страницы, поэтому в большинстве случаев вы можно было выбрать все капли с одной страницы и загрузить только те) - person sports; 01.02.2019
comment
Что касается границы разделения звука: рекомендую отдельную подписку для каждого клиента - наиболее масштабируемую, легко автоматизируемую, достаточно простую в управлении, при необходимости легко передать все клиентские ресурсы владельцу клиента (сменить каталог, передать право владения биллингом). - person lightmotive; 22.11.2019

Если вас устраивает небольшое программирование с помощью Node.js, вы можете разместить FTP-сервер, напрямую поддерживаемый Azure Blob.

Вы можете использовать nodeftpd в сочетании с azure-storage-fs. nodeftpd - это FTP-сервер, написанный на Node.js и поддерживающий сторонний менеджер файловой системы. azure-storage-fs - это менеджер файловой системы, предназначенный для использования nodeftpd и напрямую обращается к BLOB-объекту Azure.

Код интеграции диспетчера файловой системы четко написан в разделе README.md из azure-storage-fs. Но вам нужно будет написать свой собственный код аутентификации.

person Compulim    schedule 04.12.2016
comment
Идея мне нравится, но там написано, что nodeftpd не готов к производству - person Sinaesthetic; 11.10.2018