Как мне создать сервер AWS, который мог бы непрерывно получать данные из приложения IOS (swift)? - PullRequest
0 голосов
/ 28 июня 2019

Я пытаюсь закодировать приложение IOS, и для него уже назначен сервер ec2.Я хочу знать, как приложение может отправлять данные изображения на сервер.Сервер ec2 будет непрерывно получать входящие данные изображения от всех пользователей, которые используют приложение.Сервер будет затем обрабатывать данные.Это было бы похоже на то, что делают такие приложения, как Instagram, но, конечно, не в таких больших масштабах.

Я новичок в общении клиент-сервер и хочу знать, как внедрить это в мое приложение.Я также не использую переполнение стека слишком часто, поэтому, пожалуйста, скажите мне, если я делаю что-то неправильно, если вам нужна дополнительная информация.

Чтобы быть более точным, пользователь может разместить изображение в приложении.В настоящее время я уже настроил сервер ec2 для получения этого изображения.Я хочу, чтобы все изображения, которые пользователи публикуют, доставлялись, обрабатывались, а затем сохранялись на сервере ec2.Есть ли способ справиться с фактической доставкой данных.Вопрос немного широк, потому что я хочу знать, где искать.Должен ли я написать скрипт, который постоянно работает в фоновом режиме и получает данные через какой-то порт?Есть ли другой сервис, который я мог бы использовать для этого?

Ответы [ 2 ]

1 голос
/ 28 июня 2019

Хм, вкратце, у вас будут проблемы с запуском на EC2, если у вас много пользователей, отправляющих изображения одновременно.

Посмотрите на настройку API Gateway <-> Lambda <-> DynamoDB or S3 на AWS. Затем ваш клиент может POST изображений / данных к вашему шлюзу с HTTP-запросом.

0 голосов
/ 03 июля 2019

Сначала вы должны решить, являются ли ваши данные потоковыми (непрерывно передаваемыми с сервера) или сохраненными (извлекаемыми с сервера по мере необходимости). Приведенный вами пример из Instagram показывает, что вам не нужна потоковая передача данных в реальном времени.

Потоковое решение является более сложным и обычно может требовать такой технологии, как веб-сокеты (или AWS IoT), для достижения этой цели. Решение для хранения данных будет намного проще.

Для хранения у вас есть выбор между созданием и управлением серверами с использованием платформы, подобной EC2 (вам потребуется более одного сервера для масштабирования до множества пользователей), или с использованием управляемой технологии «без сервера», такой как * 1007. * где вам нужно только предоставить код. Компромисс для этого удобства обычно цена.

Для хранения изображений типичным шаблоном является создание записей базы данных, которые содержат URL S3 для базового изображения (а также любые метаданные). Вы можете создать эту запись базы данных и загрузить свой файл, используя любую выбранную вами серверную технологию; Для лямбды может потребоваться сервер API Gateway, но помните, что AWS SDK может напрямую вызывать функции Lambda.

...