[Azure] ํจ์ (Functions)
.png?type=w800)
azure functions๋ aws lambda, gcp function์ ๋์๋๋ ์๋ฒ๋ฆฌ์ค ํจ์ ์คํ ์๋น์ค๋ค.
๋น์ฉ
๋น์ฉ์ ๋ค์ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ๋ฉด ์ข๊ฒ ๋ค.
https://azure.microsoft.com/ko-kr/pricing/details/functions/
ํ๋ฌ์ 100๋ง๊ฑด๊น์ง๋ ๋ฌด๋ฃ๊ณ , ์ดํ๋ถํฐ๋ ์ถ๊ฐ ์๊ธ์ด ๋ถ๊ณผ๋๋ค.

ํจ์ ์์ฑ
ํจ์ ์ฝ์๋ก ์ด๋ํด "๋ง๋ค๊ธฐ"๋ฅผ ํด๋ฆญํ๋ค.

๊ตฌ๋ ๊ณผ ๋ฆฌ์์ค ๊ทธ๋ฃน์ ์ทจํฅ๊ป ๋ฃ์ด์ฃผ๊ณ , ์ด๋ฆ๊ณผ ๋ฐํ์์ ๊ฒฐ์ ํ๋ค.
์ด๋ฆ์ด ๋๋ฉ์ธ์ผ๋ก ๋ฐํ์ unique ๊ฒ์ฌ๊ฐ ๊น๋ค๋ก์ฐ๋ ๊ฐ์์ ์ข ํด์ผํ๊ณ , OS๋ ์ ํํ ์ ์๋ค.
๋ฐํ์์ ๊ทธ๋ ๊ฒ ๋ง์ง๋ ์๋ค.
์ด์ธ์ ํ์ํ๊ฒ ์๋ค๋ฉด ์ปค์คํ
์ ์ฌ์ฉํด์ผํ ๊ฒ์ด๋ค.
์๋ฃ๋ฅผ ํ๋ฉด, ๋ฆฌ์์ค๊ฐ ์์ฑ๋ ๊ฒ์ด๋ค.
์ธํ
์๋ ์๊ฐ์ด ์ข ๊ฑธ๋ฆฐ๋ค.


์คํ
Azure ํจ์๊ฐ ๊ฝค ํธ๋ฆฌํ ์ ์ด, URL์ ๊ธฐ๋ณธ์ผ๋ก ๋ฝ์์ค๋ค๋ ๊ฒ์ด๋ค.

์ ์ํ๋ฉด ์ด๋ ๊ฒ ํ ํ๋ฆฟ ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ค.

์ฝ๋ ํธ์ง
Azure Function์ ์ข ๋ถํธํ๊ฒ๋ ์ฝ์์์ ๋ฐ๋ก ์ฝ๋๋ฅผ ๋ณด๊ฑฐ๋ ๊ณ ์น ์๋ ์๋ค.
๋น ๋ฅธ ์์์ ๋ณด๋ฉด ํธ์ง๊ธฐ๋ฅผ ์ธํ ํ๊ณ ๋ฐฐํฌํ๋ ๋ฒ์ ๋ํด ์๋ ค์ค๋ค.

๋๋ VSCode๋ฅผ ์์ฃผ ์ฌ์ฉํ๋ฏ๋ก VSCode ์์ฃผ๋ก๋ง ๋ค๋ฃจ๊ฒ ๋ค.
Azure Function์ฉ ํ์ฅ์ ๊น๊ณ

npm์ผ๋ก ๋ค์ ๋ชจ๋์ ์ค์นํด์ค๋ค.
npm install -g azure-functions-core-tools@4 --unsafe-perm true
functions์ฉ ์ปค๋งจ๋ํด๋ ๊น์๋๋๊ฒ ์ข๋ค.
์๋ ๋งํฌ์์ ๋ค์ด๋ฐ๊ฑฐ๋, ๋ค์ด๋ฐ๋๋ฒ์ ๋ณผ ์ ์๋ค.
https://docs.microsoft.com/en-us/azure/azure-functions/functions-run-local?tabs=v4%2Cwindows%2Ccsharp%2Cportal%2Cbash#v2
๋ฐฐํฌ๊น์ง ์ปค๋งจ๋๋ก ํ๋ ค๋ฉด azure cli๋ ์์ด์ผ ํ๋ค.
๋ค์ ๋งํฌ์์ ํ๋ซํผ๋๋ก ์ค์นํ์.
https://docs.microsoft.com/ko-kr/cli/azure/install-azure-cli
ํ์ฅ์ ๊น์๋ค๋ฉด ์๋์ ๊ฐ์ ๊ด๋ฆฌํญ์ด ์ถ๊ฐ๋๋ค.

๊ทธ๋ฆฌ๊ณ ํด๋๋ฅผ ๋ง๋ค๊ณ ๊ด๋ฆฌ๋๊ตฌ๋ก ์ค์ ํ์ผ์ ์ด๊ธฐํํด์ค๋ค.
func init

๊ทธ ๋ค์์๋ ํจ์ ์ฝ๋๋ฅผ ์ถ๊ฐํ๋ค.
func new --name HttpExample --template "HTTP trigger" --authlevel "anonymous"
๊ทธ๋ฌ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ํ๋ก์ ํธ ํด๋๊ฐ ๊ตฌ์ฑ๋ ๊ฒ์ด๋ค.

๋ก์ปฌ์์ ์คํํ๊ธฐ
์คํ์ func start ๋ช ๋ น์ ์ฌ์ฉํ๋ฉด ๋๋ค.
๊ทธ๋ผ ์์ฑ๋ ํ
ํ๋ฆฟ์ ์คํํด์ ์๋ํฌ์ธํธ๋ฅผ ์๋ ค์ค ๊ฒ์ด๋ค
์ ์ํ๋ฉด
์ ๋ ๊ฒ์ด๋ค.
๋ฐฐํฌํ๊ธฐ
๋จผ์ ์ปค๋งจ๋๋ผ์ธ์ผ๋ก ๋ฐฐํฌํ๋๋ฒ๋ถํฐ ์ค๋ช
ํด๋ณด๊ฒ ๋ค.
azure ๋ก๊ทธ์ธ์ ํ๊ณ

์๋์ ๋ช ๋ น์ด๋ฅผ ์คํํ๋ค.
func azure functionapp publish ํจ์๋ช
๋ง์ฝ ๋ค์๊ณผ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค๋ฉด

"AzureWebJobsStorage": "UseDevelopmentStorage=true" ์ธํ ๊ฐ์ ์ถ๊ฐํด์ค๋ค.

๊ทธ๋ฆฌ๊ณ ๋ค์ ์๋ํ๋ฉด

์ด์ ์ฌ๋ผ๊ฐ ๊ฒ์ด๋ค.

๊ด๋ฆฌ์ฉ VSCode ํ์ฅ์ ์ฌ์ฉํ๋ฉด ์ด๋ณด๋ค ๋ ๊ฐํธํ๊ฒ ์ฒ๋ฆฌํ ์๋ ์๋ค.
์ ํํ๊ณ , ๋ฐฐํฌ ํด๋ฆญํ๊ณ , ํ์ฌ ๋ก์ปฌ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ค์ ํ๋ค.
๊ทธ๊ฑฐ๋ฉด ๋์ด๋ค.
๋๊ฐ์ด ์ฌ๋ผ๊ฐ ๊ฒ์ด๋ค.

์ฐธ์กฐ
https://docs.microsoft.com/ko-kr/azure/azure-functions/functions-develop-vs-code?tabs=csharp