Загрузка BLOB-объектов Azure - как это сделать наилучшим образом? - PullRequest
2 голосов
/ 10 марта 2012

Мы разрабатываем веб-приложение для Azure, и возникает вопрос - как эффективно загружать в BLOB большие изображения непосредственно из браузера и сделать его безопасным и надежным?

Возможно, у нас плохая производительность, потому что мы из России и в настоящее время используем пробную версию Azure. Может, при полной подписке эта проблема исчезнет?

В любом случае, меня беспокоит то, что наше приложение должно передавать наше изображение по следующему пути:

WebBrowser > (image.jpg) > Azure WebRole [store name in DB] > (image.jpg) > Azure BLOB

Так что есть издержки, связанные с WebRole. Что я хотел бы сделать, это загрузить мой большой файл напрямую в BLOB и параллельно отправить имя изображения в WebRole:

WebBrowser > (image.jpg) > Azure BLOB
WebBrowser > WebRole [store name in DB]

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

Разумно ли это вообще?

Ответы [ 2 ]

4 голосов
/ 10 марта 2012

Silverlight - это опция, использующая подписи общего доступа (специальные URL-адреса, которые разрешают доступ для записи на ограниченный срок).Смотрите мою серию сообщений в блоге: http://blog.smarx.com/posts/uploading-windows-azure-blobs-from-silverlight-part-1-shared-access-signatures

1 голос
/ 11 марта 2012

+ 1 для предложения @ smarx о загрузке через Shared Access Signature - которое предлагает ограниченный по времени URL-адрес, который позволяет вам получить доступ к частному BLOB-объекту, как к общедоступному. Кто-то должен будет запустить сетевой анализатор, чтобы попытаться обнаружить URL в кодировке SAS, и даже тогда он будет действителен только в течение короткого периода времени.

Просто хотел добавить, что наличие пробной подписки ничем не отличается от платной подписки, когда речь заходит о производительности. Это просто биллинг и не имеет никакого отношения к распределению ресурсов.

...