Я пытаюсь спланировать, как я собираюсь это сделать, и пока у меня есть следующее:
Я беру файл во внешнем интерфейсе и при отправке отправляю имя файла и набираю его в серверную часть, где он генерирует предварительно подписанный URL-адрес. Я отправляю это в ИП. Затем я отправляю файл во внешний интерфейс.
Проблема здесь в том, что когда я генерирую предварительный знак, я хочу зафиксировать имя моего UUID-файла, перейдя на S3 в моей базе данных через серверную часть. Я не знаю, успешно ли справится фронтенд с этой задачей. Я могу придумать несколько дрянных способов собрать это мусор - но мне интересно, есть ли обычно предписанный способ сделать это, который не вводит возможность сбоев, о которых BE не знает?





Да, есть альтернативный способ. Вы можете настроить свою корзину так, чтобы она отправляла событие всякий раз, когда объект создается / обновляется. Вы можете отправить это событие в тему SNS или в AWS Lambda.
Оттуда вы можете отправить запрос на веб-перехватчик вашего приложения Phoenix, который сможет вставить его в базу данных.
Преимущество в том, что событие произойдет только тогда, когда файл будет создан.
Для получения дополнительной информации вы можете прочитать следующее: https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
Я сейчас с этим справляюсь:
Следуя этим шагам, вы не внесете ошибку в свою базу данных.
@AbhyuditJain Спасибо, я еще разберусь с ними!
Хотя это нормальный подход, для этого требуется, чтобы клиент отправлял изображение на серверную часть, а затем на серверную часть S3 (загрузка происходит дважды и для загрузки используются внутренние ресурсы). Этого можно избежать, используя предварительно подписанные URL-адреса.