簡體   English   中英

AWS S3上載或EC2上載以處理權限

[英]AWS S3 upload or EC2 upload to handle permissions

我試圖找出最適合我特定問題的存儲服務。

應用程序

我正在使用Xamarin(.NET)開發移動應用程序。 每個用戶都必須注冊並登錄才能使用我的服務。 每個用戶可以位於幾個組中,在這些組中,他有權存儲文件(每個文件大約200kb)。 我的后端是一個托管Cassandra作為我的數據庫的EC2實例。

問題所在

我考慮使用AWS S3來存儲文件。

問題1:我應該直接上傳到S3還是應該上傳到EC2,請處理權限,然后將其存儲在S3中。 使用直接上傳到S3時,我的優勢是EC2實例上使用的帶寬更少。 對於直接上傳,我必須提供一個令牌自動售貨機,該機有兩種提供與S3交互所需的憑據的模式:匿名和身份。 在我閱讀本文時,匿名方法主要是只讀場景的用戶。 但是對於身份驗證方法,用戶必須在瀏覽器窗口中注冊,這絕對不是我想要的用戶。

該應用程序通過在移動設備上啟動瀏覽器來啟動與TVM的通信,以使用戶能夠向TVM注冊用戶名和密碼。 TVM從密碼中得出一個秘密密鑰。 TVM存儲用戶名和密鑰以供將來參考。

甚至可以通過分配TVM憑證的AWS權限來處理我需要的權限(每個用戶只能將文件上傳和下載到他所屬的組)?

問題2:由於每個文件只有大約200kb,我是否應該考慮將每個文件直接存儲在cassandra中? 這里的問題是,同一文件每秒可能被訪問幾次。

我會用S3。 這樣,您不必擔心文件的帶寬和權限。 您確實與Amazon S3和IAM服務(其授權服務)進行了交互。 您可以通過API和您選擇的語言(Python,Ruby,Java等)進行操作

如果您擔心與Amazon捆綁在一起,則可以在自己的數據中心中設置諸如OpenStack Storage(與S3 API兼容)之類的內容,然后將數據移至其中。 這些文件仍將由您的初始應用程序處理,因為您的代碼將是“ S3兼容的”

暫無
暫無

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

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