Lambda๋ฅผ ์ด์ฉํด์ ์ด ๋ฏธ๋๋ฉ? ํ ๊ฒ์ํ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ค.
Lambda์ ํ ๊ฐ ํจ์์ CRUD ๋ชจ๋ API๋ฅผ ๋๋ ค๋ฐ๊ณ RDS๋ฅผ ๋ถ์๋ค.
ํ ๊ฐ API๋ง๋ค API Gateway์ uri ๋๋ ๋ฉ์๋๋ฅผ ๋ฌ๋ฆฌํด์ ๋ถ๋ฆฌํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ด์ง๋ง ์ฒซ ์ฐ์ต์ด๋ ๋ค ํ์์๊ณ ๊ทธ๋ฅ ๊ตด๋ฌ๊ฐ๊ฒ๋ง ํ๋ค.
์ด์ ์ ์์ฑํ Lambda์ RDS๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํ๋ค.
Table ์คํค๋ง๋ PK, ์ ๋ชฉ, ๋ด์ฉ, ์์ฑ๋ ์ง
๋ก ๊ตฌ์ฑํ๊ณ ๊ตฌํํ ๊ธฐ๋ฅ์ ์๋์ ๊ฐ๋ค.
ํ์ด์ฌ ํ๊ฒฝ์ผ๋ก Lambda์์ ์์ฃผ ๊ฐ๋จํ CRUD API๋ฅผ ๊ตฌํํ๋๋ฐ ์์ด์ ๊ธฐ์กด Flask์ ๋ฌ๋๋ ์ ์ ๋ฑ ํ๊ฐ์ง์๋ค. ๋๋จธ์ง๋ ์ ๋ถ Flask์์ ์ฌ์ฉํ ํ์ด์จ ๋ฌธ๋ฒ์ ๊ทธ๋๋ก ์ฌ์ฉํ๋ค.
HTTP ์์ฒญ ํ๋ผ๋ฏธํฐ๋ฅผ ๋ฐ๋ ๋ฐฉ์๋ง ์กฐ๊ธ ๋ค๋ฅด๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก Lambda ํจ์์ ์ํธ๋ฆฌํฌ์ธํธ๊ฐ ๋๋ ํจ์์ ๊ตฌ์กฐ๋ ์๋์ ๊ฐ๋ค.
def lambda_handler(event, context):
...
ํ๋ผ๋ฏธํฐ๋ก ๋ฐ๋ event
๊ฐ์ฒด์์ ์์ฒญ ํ๋ผ๋ฏธํฐ๋ฅผ ์ป์ด์ฌ ์ ์๋ค.
param = event['queryStringParameters']['ํ๋ผ๋ฏธํฐ_์ด๋ฆ']
(์ ๋ ์ฝ์ง๋ ์์์ง๋ง) ์ด๋ฒ ํ๋ฒํ ๊ฒ์ํ ํ๋ก์ ํธ์์ ๋๋ ๊ฒ์ ๋ฑ ํ๋๋ค.
์ด๋ ๊ฒ ๊ฐ๋จํ๊ฒ (๋๋ฆ) ์์ ํ ์ ํ๋ฆฌ์ผ์ด์
์ด ๋ฐฐํฌ๊ฐ ๋๋ค๋ ๊ฒ..
๋ด๊ฐ ํ ์ผ์ ์ ๋ฆฌํด๋ณด์.
- ํ์ด์ฌ ์ฝ๋๋ก API ๊ตฌํ
- HTML, JS, CSS ๊ตฌํ
- DB ์คํค๋ง ์ ์
์ฒซ๋ฒ์งธ ํ์ด์ฌ ์ฝ๋๋ Lambda์ ์ ๋ก๋ํ๊ณ API Gateway ๋ถ์ฌ์ฃผ๋ฉด ๋ฐฐํฌ ๋!
๋๋ฒ์งธ HTML, JS, CSS ๋ฑ ์น ๋ฆฌ์์ค๋ค์ S3์ ์ฌ๋ฆฌ๊ณ ์ ์ ์น ํธ์คํ ํด์ฃผ๋ฉด ๋ฐฐํฌ ๋!
๋ง์ง๋ง์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ RDS ํ๋ ์์ฑํ๊ณ Lambda์ ์ฐ๋ํด์ฃผ๋ฉด ๋ !
๋ฌผ๋ก ๋น์ฐ์ ์ผ๊ฐ์ด๊ฒ ์ง๋ง ์ด๋ฒ ์ด๋ฏธ๋ ํ๋ก์ ํธ๋ก ์๋ฒ๋ฆฌ์ค์ ๋ํ ๋๋ฆ์ ์ธ์ฌ์ดํธ๋ฅผ ์ป์ ๊ฒ ๊ฐ๋ค ๐