Можно ли сгенерировать SAS (подпись общего доступа) с разрешением на запись для данного каталога в хранилище BLOB-объектов Azure

Структура нашего хранилища BLOB-объектов:

Название контейнера: простой

внутри этого контейнера у нас есть капли:

aa/one.zip
aa/two.zip
bb/ss.zip
bb/dd.zip

Можно ли сгенерировать SAS с правами на запись для "каталога", но без доступа для "каталога" bb?

С помощью Amazon AWS мы можем легко создавать ограничения на основе имени префикса объекта / блоба, но я не могу найти аналогичные функции в хранилище Azure SDK для Java.

1 ответ

Решение

На сегодняшний день это невозможно сделать на уровне папок, поскольку в этом случае в хранилище BLOB-объектов Azure нет папки.

Вы можете создать SAS на уровне контейнера или на уровне BLOB-объектов. Если вы хотите, чтобы ваши пользователи загружали файлы только с определенными именами, вы можете очень хорошо создать SAS с правами на запись для имени большого двоичного объекта. BLOB-объект не обязательно должен присутствовать при создании SAS.

Таким образом, когда ваши пользователи загружают файл, используя этот SAS, он будет сохранен в виде большого двоичного объекта, который вы выбрали. Итак, что вы будете делать, это создать SAS для BLOB-объекта с именем bb/ss.zip и дать его пользователю. Когда пользователь загрузит файл, он будет сохранен как bb/ss.zip в вашем контейнере BLOB-объектов.

Другие вопросы по тегам