У меня есть ASP. NET Core API, к которому обращается приложение iOS в мультитенантной среде. Каждому арендатору назначается контейнер для хранения.
В приложении есть несколько точек для загрузки изображений, которые должны отображаться в приложении, например, изображение профиля клиента.
Мои объекты не публикуются c поэтому мне нужно найти лучший подход для возврата этих изображений в API для использования приложением.
Я подумал о нескольких подходах здесь.
1 , Когда изображение загружено, создайте не истекающий SAS и сохраните его в базе данных. Я быстро понял, что это не правильный подход. Если я восстановлю ключи, эти URL станут недействительными. Таким образом, мы можем вычеркнуть это из списка.
Когда арендатор вызывает GET / клиентов, где эти URL-адреса будут включены в возвращенный ответ, генерируется короткоживущий SAS на уровне контейнера и отправляет его вместе с заголовком. Затем приложение может добавить SAS, когда оно будет отображать изображение. Это то, к чему я склоняюсь.
Пусть мой API загрузит каждый BLOB-объект и отправит base64 вместе в ответе. Это кажется сложным и ненужным.
Предоставьте свою собственную конечную точку API для генерации SaS по требованию для определенного большого двоичного объекта / контейнера и приложения сначала вызовите его.
Есть еще один, надеюсь, лучший подход, который я здесь не рассматривал? Я думаю, что # 2 - это, вероятно, путь к go.
Спасибо!