AWS: 在AWS上創(chuàng)建一個網(wǎng)站,綜合運用(Lambda + Api Gateway + Dynamodb + S3)

來源:CSDN軟件開發(fā)網(wǎng)
作者:wucong60
時間:2020-06-17
3797
本文將創(chuàng)建一個微型網(wǎng)站,以達到綜合運用AWS服務(wù)的目的。

簡介

本文將創(chuàng)建一個微型網(wǎng)站,以達到綜合運用AWS服務(wù)的目的:

1.Dynamodb:一種完全托管的NoSQL數(shù)據(jù)庫服務(wù)

2.Lambda:實現(xiàn)具體的業(yè)務(wù)邏輯,基于python3編寫,它會調(diào)用dynamodb數(shù)據(jù)庫。

3.API Gateway:一種完全托管的服務(wù),可以幫助開發(fā)者輕松創(chuàng)建、發(fā)布、維護、監(jiān)控和保護任意規(guī)模的API。

4.S3:Host一個較為簡單的靜態(tài)網(wǎng)站,并調(diào)用開放出來的REST API

20190722175948702.png

1.創(chuàng)建Dynamodb

新建一張表(employee),以name為Primary key(partial key),再新增兩行數(shù)據(jù),如下圖所示:

20190722180615223.png

2.編寫Lambda邏輯

2.1創(chuàng)建一個Lambda名為conglambda

20190722180917956.png

2.2 lambda_function.py

lambda_function.lambda_handler作為入口函數(shù),它會調(diào)用dynamodb.

1592362967(1).png

2.3 DynamoDBService.py

此模塊會使用boto3調(diào)用dynamodb,其中AWS_ACCESS_ID和AWS_ACCESS_KEY可以在IAM--->Users-->Security credentials-->Create access key創(chuàng)建。

1592362998(1).png

2.4 employee.py

相當(dāng)于一個model類或是一個Dto類。

1592363012(1).png

3.創(chuàng)建一個API Gateway

命令為congAPI,在resources中創(chuàng)建一個新的Method,選擇Get,選擇剛創(chuàng)建的lambda

20190722182014147.png

接下來,我們需要給API Gateway傳遞參數(shù),點擊Integration Request-->Mapping Templates中,輸入如下內(nèi)容,以便可以傳入name參數(shù)給api gateway。

20190722182308787.png

編輯好后,需要部署API Gateway,點擊Deploy API

20190722182532899.png

輸入Dev,點擊發(fā)布,會生成如下鏈接

20190722182652129.png

我們在瀏覽器上輸入相應(yīng)的name參數(shù),就可以成功訪問到相應(yīng)的數(shù)據(jù)了,此數(shù)據(jù)來源于dynamodb.

20190722182912920.png

4.使用S3服務(wù)host一個較為簡單的靜態(tài)網(wǎng)站

4.1準備index.html

它會使用jquery調(diào)用剛才創(chuàng)建的api gateway,具體內(nèi)容如下:

1592363048(1).png

4.2創(chuàng)建一個S3 bucket名為cong-bucket

上傳此index.html

20190722183337464.png

4.3將Permissions設(shè)置為public,以便公網(wǎng)可以訪問到index.html

首先將Bock public access下面的4行全部改成off

20190722183614962.png

將Bucket改成public有多種方式,這里使用Bucket Policy。即所有人都可以訪問,如下圖:

20190722183754201.png

4.4啟用bucket hosting,將host一個較為簡單的靜態(tài)網(wǎng)站

2019072218403916.png

20190722184125578.png

4.5驗證與測試

訪問此網(wǎng)站,輸入name,點擊search,可以看到根據(jù)輸入的不同,從數(shù)據(jù)庫中抓取相應(yīng)的內(nèi)容并顯示在網(wǎng)頁上

20190722184516747.png

20190722184538986.png

立即登錄,閱讀全文
原文鏈接:點擊前往 >
文章來源:CSDN軟件開發(fā)網(wǎng)
版權(quán)說明:本文內(nèi)容來自于CSDN軟件開發(fā)網(wǎng),本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務(wù)商推薦
更多