- S3 bucket์ Object๋ฅผ ์ ๋ก๋ํ๋ค.
- AWS Lambda ํจ์์์ ์ ๋ก๋๋ Object๋ฅผ ๋ฐ์ ๊ฐ๊ณตํ ํ, Slack channel๋ก ์ ์กํ๋ค.
- ํน์ Slack channel์์ ๋ฉ์์ง๋ฅผ ๋ฐ์ ๋ณธ๋ค.
Amazon S3 ์ฝ์์ ์ฝ๋๋ค.
๋ฒ์ปท ๋ง๋ค๊ธฐ๋ฅผ ์ ํํฉ๋๋ค.
์ผ๋ฐ ๊ตฌ์ฑ(General configuration)์์ ๋ค์์ ์ํํฉ๋๋ค.
a. ๋ฒํท ์ด๋ฆ(Bucket name)์ ๊ณ ์ ํ ์ด๋ฆ์ ์
๋ ฅํฉ๋๋ค.(AWS ๋ชจ๋ ๋ฆฌ์ ์ ํตํ์ด ๊ณ ์ ํด์ผ ๋ฉ๋๋ค.)
b. AWS ๋ฆฌ์ ์์ ๋ฆฌ์ ์ ์ ํํฉ๋๋ค. (์ด๋ ์ ํํ ๋ฆฌ์ ์ Lambda ํจ์๋ฅผ ๋ง๋ค์ด์ผ ๋ฉ๋๋ค.)
๋ฒํท ๋ง๋ค๊ธฐ๋ฅผ ์ ํํฉ๋๋ค.
AWS Lambda ์ฝ์์ ํจ์ ํ์ด์ง๋ฅผ ์ฝ๋๋ค.
ํจ์ ์์ฑ(Create function)์ ์ ํํฉ๋๋ค.
ํจ์ ์์ฑ ํ์ด์ง์์ Use a blueprint(๋ธ๋ฃจํ๋ฆฐํธ ์ฌ์ฉ)์ ์ ํํฉ๋๋ค.
๋ธ๋ฃจํ๋ฆฐํธ(Blueprints)์ ๊ฒ์ ์์์ s3๋ฅผ ์ ๋ ฅํฉ๋๋ค.
๊ฒ์ ๊ฒฐ๊ณผ์์ ๋ค์ ์ค ํ๋๋ฅผ ์ ํํฉ๋๋ค.
๊ตฌ์ฑ์ ์ ํํฉ๋๋ค.
๊ธฐ๋ณธ ์ ๋ณด๋ฅผ ์ ๋ ฅํฉ๋๋ค.
S3 ํธ๋ฆฌ๊ฑฐ(S3 trigger)์์ STEP 2์์ ์์ฑํ S3 ๋ฒํท์ ์ ํํฉ๋๋ค.
ํจ์ ์์ฑ(Create function)์ ์ ํํฉ๋๋ค.
ํ์์ ๋ง๊ฒ ํจ์ ์ฝ๋๋ฅผ ์์ ํฉ๋๋ค. ์ ๋ Object์ ๋ํ ๋ฉํ์ ๋ณด ์ด์ธ์ Object ๋ด๋ถ ์ปจํ
์ธ ๊ฐ ํ์ํ๊ธฐ ๋๋ฌธ์ ์๋์ ๊ฐ์ด ํจ์ ์ฝ๋๋ฅผ ์์ ํด์คฌ์ต๋๋ค.
์ฒซ ๋ฒ์งธ Red Box๋ Slack webhook URL๊ณผ channel ์ด๋ฆ์ ์ ๋ ฅํ๋ ์ฝ๋์ ๋๋ค. Slack webhhok URL์ STEP 1์์ ๋ฉ๋ชจ์ฅ์ ๋ณต์ฌํด๋์ URL์ ์จ์ค๋๋ค.
๋ ๋ฒ์งธ Red Box๋ Slack channel์ ๋ณด๋ผ ๋ฉ์์ง๋ฅผ JSON ํฌ๋งท์ผ๋ก ๋ง๋ ํ, Slack channel์ ์ ์กํ๋ ์ฝ๋์ ๋๋ค.
Blue Box๋ event object์์ S3 bucket ์ด๋ฆ๊ณผ key๋ฅผ ๊ฐ์ ธ์จ ํ, ๊ทธ๋ฅผ ์ด์ฉํด S3 object๋ฅผ ๊ฐ์ ธ์ค๋ ์ฝ๋์ ๋๋ค. (line 20๊ฐ Object ๋ด๋ถ ์ฝํ ์ธ ๋ฅผ ๊ฐ์ ธ์ค๋ ์ฝ๋์ ๋๋ค.)