2017-08-22 32 views
1

我想使用AWS無服務器託管動態網站。我計劃使用Lambda,API Gateway,DynamoDB和S3。我的前端頁面將駐留在S3中。攔截器是會有一些動態項目,如用戶名和其他元數據,這些將是用戶特定的。到目前爲止,我知道我們能做的最好的事情就是從S3中拉出html頁面。那麼我該如何繼續並在這些頁面中包含這些變量?使用AWS的動態網站

我會在NodeJS中編寫lambda。

回答

0

你的HTML(靜態頁面)應具有的所有輸入字段(在你的情況的用戶名和元數據)。您可以使用任何側面的JavaScript庫來從這些輸入字段獲取值。即使你可以使用經典的JavaScript(比如document.getElementById)從輸入字段獲取值,但即使它工作,這也將是非常古老的做法。一旦你獲得了所需的值,那麼你就可以將Json編寫成lambda功能通過API網關。儘管S3僅支持靜態網站託管,但您可以在HTML中編寫JavaScript代碼,但不會將其視爲動態(如C#,Java等)。

大的故事,總之,你可以在你的S3託管靜態頁面通過JavaScript acheive任何東西,在你的API網關/λ預期的方式組成正確的JSON。

0

你作爲攔截提到動態項目,如用戶名和其他元數據什麼。您可以使用AngularJS或其他框架來處理應用程序中的動態變量。

您還可以使用AWS Cognito進行身份驗證。

0

AWS S3適合以前後角爲例。

對於api我在Aws ECS的docker容器中使用nodejs。

0

對於無服務器的網站像你描述你需要做靜態之間的區別,以及動態內容。

靜態內容,如HTML頁面,JavaScript文件,CSS可以在一個S3桶主持。

對於動態的項目,你可以使用JavaScript或任何JS框架,並用它來與一對夫婦拉姆達的的返回動態數據交互。 這些lambda可以連接到API網關。

如果你想store-和檢索數據的數據庫,你可以使用DynamoDB,或RDS實例,這樣你就不需要管理任何服務器

如果它僅僅是關於認證就可以使用AWS Cognito。