Я пишу одностраничное веб-приложение (angularJs) и серверный сервер (node.js). Связь между ними осуществляется через REST.Загрузка файла на основе браузера в AWS S3 и кодирование рабочего процесса сервера-клиента
В настоящее время им пытаются реализовать следующий сценарий:
Загрузить большие файлы из браузера S3 общественное ведро.
Скопируйте загруженный файл в частном ведром на S3
перекодировать загруженный файл в формате HTML 5 совместимый формат (AWS Elastic Транскодер)
магазин Meta-Object о файле в БД, чтобы получить доступ позже
Я ломаю себе голову, чтобы получить хорошо работающий дизайн связи/обработки данных между сервером и клиентом, но всегда застрял в следующих вопросах?
Хранить файл мета-объекта в конце или в начале процесса. Если это в начале, я должен хранить и обрабатывать некоторую информацию о состоянии?
Кому следует начинать копирование загруженных файлов в личное ведро. Сервер или клиент? Если это сервер, как клиент может получить информацию о задании?
Кто начинает процесс транскодирования? Если это сервер, как клиент может получить информацию о задании?
Как вы это сделаете?
Thx для вашего ответа Стефан. Я проверил учебник, который вы связали, и действительно это соответствует тому, что я планирую реализовать. Главное отличие состоит в том, что все эти шаги должны выполняться автоматически, в моей системе. Пользователь просто отбрасывает файл в браузер. Это тот момент, когда поток данных и сообщений между сервером и клиентом начинает меня не настолько очевидным. Как клиент узнает о перекодировке, завершился ли запуск этого процесса сервером? –