Доступ к изображениям закрытых блобов из Azure Хранение в приложении - PullRequest
0 голосов
/ 17 февраля 2020

У меня есть ASP. NET Core API, к которому обращается приложение iOS в мультитенантной среде. Каждому арендатору назначается контейнер для хранения.

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

Мои объекты не публикуются c поэтому мне нужно найти лучший подход для возврата этих изображений в API для использования приложением.

Я подумал о нескольких подходах здесь.

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

Когда арендатор вызывает GET / клиентов, где эти URL-адреса будут включены в возвращенный ответ, генерируется короткоживущий SAS на уровне контейнера и отправляет его вместе с заголовком. Затем приложение может добавить SAS, когда оно будет отображать изображение. Это то, к чему я склоняюсь.

Пусть мой API загрузит каждый BLOB-объект и отправит base64 вместе в ответе. Это кажется сложным и ненужным.

Предоставьте свою собственную конечную точку API для генерации SaS по требованию для определенного большого двоичного объекта / контейнера и приложения сначала вызовите его.

Есть еще один, надеюсь, лучший подход, который я здесь не рассматривал? Я думаю, что # 2 - это, вероятно, путь к go.

Спасибо!

1 Ответ

0 голосов
/ 20 февраля 2020

Перейдем к # 2 и включим кратковременный SAS в заголовок ответа от API, который можно использовать для добавления к URL-адресам, которые иначе не публикуются c.

...