簡體   English   中英

如何創建可以從IOS(swift)應用程序連續接收數據的AWS服務器?

[英]How do I create an AWS server that could recieve data continously from an IOS(swift) app?

我正在嘗試編寫IOS應用程序的代碼,並且已經為該應用程序指定了ec2服務器。 我想知道該應用程序如何將圖像數據發送到服務器。 ec2服務器將從使用該應用程序的所有用戶連續接收傳入的圖像數據。 然后,服務器將處理數據。 這類似於Instagram之類的應用程序所做的事情,但是當然規模並不大。

我是客戶端與服務器通信的初學者,想知道如何在我的應用程序中實現此功能。 我也不經常使用堆棧溢出,因此如果您需要更多信息,請告訴我是否做錯了什么。

更具體地說,用戶將在應用程序中發布圖像。 我目前已經設置了一個ec2服務器來接收該圖像。 我希望將用戶發布的所有圖像進行傳遞,處理,然后存儲在ec2服務器中。 有什么方法可以處理實際的數據傳遞。 這個問題有點籠統,因為我想知道在哪里看。 我是否需要編寫一個在后台不斷運行並在某個端口接收數據的腳本? 我可以使用其他服務來處理此問題嗎?

嗯,簡而言之,如果有許多用戶同時發送圖像,則在EC2上運行時會遇到問題。

研究在AWS上設置API Gateway <-> Lambda <-> DynamoDB or S3 那么你的客戶端可以POST圖像/數據與一個HTTP請求的網關。

首先,您必須確定數據是流式傳輸(從服務器連續推送)還是存儲(根據需要從服務器拉出)。 您提供的Instagram示例表明您不需要實時流數據。

流傳輸解決方案更為復雜,通常可能需要諸如Web套接字(或AWS IoT )之類的技術來完成。 存儲解決方案將更加簡單。

對於存儲,您可以選擇使用EC2類的平台來創建和管理服務器(您需要一台以上的服務器才能擴展到許多用戶),也可以選擇使用Lamba類的托管“無服務器”技術,而只需要提供以下功能即可:碼。 為了方便起見,折衷通常是價格。

對於圖像存儲,一種典型的模式是創建數據庫記錄,其中包含基礎圖像的S3 URL(以及任何元數據)。 您可以使用選擇的任何服務器技術創建此數據庫記錄並上傳文件。 Lambda可能需要API Gateway服務器,但請記住,AWS開發工具包可以直接調用Lambda函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM