Перенос S3 URL и удаление S3 url из загружаемого файла
У меня есть одно хранилище для обмена файлами в Интернете, например Dropbox. мы используем S3 для хранения. Когда клиент скачивает любой файл, он получает полный URL-адрес с именем и файлом корзины S3. s3 отправляет предварительно подписанный URL в API. Я не хочу показывать нашему конечному клиенту, что мы используем S3 и как называется наш контейнер URL/S3. Пожалуйста, дайте мне сейчас обходной путь, чтобы это исправить. Я приложил экран, за исключением загружаемого файла, в качестве примера он показывает название корзины и полный URL.
Я также приложил детали запроса.
response-content-disposition=attachment%3B%20filename%2A%3DUTF-8%27%2717799421_1301945716556805_5072327839011550698_n.jpg
&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD
&X-Amz-Algorithm=AWS4-HMAC-SHA256
&X-Amz-Credential=AKIAJCCG3CKV5IHGGTVA%2F20180722%2Fus-west-2%2Fs3%2Faws4_request
&X-Amz-Date=20180722T063558Z
&X-Amz-SignedHeaders=host
&X-Amz-Expires=600
&X-Amz-Signature=f2666368cd698a4f60e4a7931768cb0e833221007e947671a44bff1a72c54c90
1 ответ
Вам нужно будет создать собственную конечную точку приложения для получения запроса изображения. Ваше приложение затем проверит доступ, получит объект из S3 и передаст его обратно вызывающему клиенту.
Обратите внимание, что поэтому вам необходимо масштабировать приложение для обработки рабочей нагрузки, тогда как запросы к Amazon S3 автоматически воспользуются масштабом S3.
Думаю, вы могли бы сделать это через API Gateway и AWS Lambda. Это будет обрабатывать масштабирование для вас, но вы будете платить в зависимости от использования.
Итог: если вы не собираетесь указывать на S3, вам придется указать на что-то другое - вы будете нести ответственность за его создание, поддержку и оплату.