Можно ли сгенерировать 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-объектов.