hye-log

[๋ถ€์ŠคํŠธ์บ ํ”„ AI Tech]WEEK 17_DAY 80 ๋ณธ๋ฌธ

Boostcourse/AI Tech 4๊ธฐ

[๋ถ€์ŠคํŠธ์บ ํ”„ AI Tech]WEEK 17_DAY 80

iihye_ 2023. 1. 14. 00:40

๐ŸŒŒ ๊ฐœ๋ณ„ํ•™์Šต


[3-3] FastAPI 3

1. FastAPI ์ต์ˆ™ํ•ด์ง€๊ธฐ

1) Event Handler

(1) ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์ฒ˜๋ฆฌํ•˜๋Š” ํ•จ์ˆ˜

(2) Application์ด ์‹คํ–‰ํ•  ๋•Œ, ์ข…๋ฃŒ๋  ๋•Œ ํŠน์ • ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Œ

(3) app.on_event("startup")

์˜ˆ) startup ํ•  ๋•Œ ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ Load

(4) app.on_event("shutdown")

์˜ˆ) shutdown ํ•  ๋•Œ ๋กœ๊ทธ ์ €์žฅ

(5) ์‹ค์Šต

- 11_event_handler.py

- console log๋กœ ํ™•์ธ

 

2) API Router

(1) API Endpoint๋ฅผ ์ •์˜

(2) Mini FastAPI๋กœ ์—ฌ๋Ÿฌ API๋ฅผ ์—ฐ๊ฒฐํ•ด์„œ ํ™œ์šฉ

(3) router ํŒŒ์ผ์„ ๋”ฐ๋กœ ์„ค์ •ํ•˜๊ณ  app์— importํ•ด์„œ ์‚ฌ์šฉ

(4) ์‹ค์Šต

- 12_api_router.py ์ƒ์„ฑ

- /users

- /orders

(5) ์˜ˆ์ œ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

 

3) Error Handling

(1) ์›น ์„œ๋ฒ„๋ฅผ ์•ˆ์ •์ ์œผ๋กœ ์šด์˜ํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•จ

(2) ์„œ๋ฒ„์—์„œ Error๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ -> ์–ด๋–ค Error์ธ์ง€ ํด๋ผ์ด์–ธํŠธ์— ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•ด ๋Œ€์‘ํ•ด์•ผ ํ•จ

(3) ์„œ๋ฒ„ ๊ฐœ๋ฐœ์ž๋Š” ๋ชจ๋‹ˆํ„ฐ๋ง ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•ด Error Log ์ˆ˜์ง‘

(4) ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•จ

(5) ์‹ค์Šต

- 13_exception_handling.py ์ƒ์„ฑ

- item_id == 1 --> 200 Return

- item_id == 5 --> 500 Return

 

4) Background Tasks

(1) ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š” ์ž‘์—…๋“ค์„ background์—์„œ ์‹คํ–‰ํ•จ

(2) Starlett์ด๋ผ๋Š” ๋น„๋™๊ธฐ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๋ž˜ํ•‘ํ•ด์„œ ์‚ฌ์šฉ

(3) CPU ์‚ฌ์šฉ์ด ๋งŽ์€ ์ž‘์—…๋“ค์„ Background Task๋กœ ์‚ฌ์šฉํ•˜๋ฉด, ํด๋ผ์ด์–ธํŠธ๋Š” ์ฆ‰์‹œ Response๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ์Œ



๐ŸŒŒ ์˜ค๋Š˜์˜ ํšŒ๊ณ 

์–ด์ œ ์ž๊ธฐ ์ „์— ๋ฐ์ดํ„ฐ ์••์ถ•ํŒŒ์ผ์„ ์„œ๋ฒ„์— ์˜ฌ๋ ค๋†“๊ณ  ์ž ๋“ค์—ˆ๋Š”๋ฐ ์ผ์–ด๋‚˜๋ณด๋‹ˆ vscode๊ฐ€ ๊บผ์ ธ ์žˆ์—ˆ๋‹ค... ๋“œ๋ž˜๊ทธ๋กœ ํŒŒ์ผ ์˜ฎ๊ฒจ๋†จ๋˜๊ฑด๋ฐ ํŒŒ์ผ ํฌ๊ธฐ๊ฐ€ ํฌ๋‹ค๋ณด๋‹ˆ ๋ ‰์ด ๊ฑธ๋ฆฐ๋“ฏ..(ใ… ใ… ) ๋ฐ์ผ๋ฆฌ ์Šคํฌ๋Ÿผํ•˜๊ณ  ๋‹ค์‹œ ํŒŒ์ผ ์˜ฎ๊ฒผ๋Š”๋ฐ ๋˜ ์‹œ๊ฐ„๋งŒ ์ง€๋‚˜๋„ ์•ˆ๋˜์„œ WinSCP ์ด์šฉํ•ด์„œ ํŒŒ์ผ ์˜ฎ๊ฒผ๋‹ค...๋‹ค์‹œ ์••์ถ• ํ•ด์ œํ•˜๊ณ  annotation ๋งŒ๋“  ๋‹ค์Œ์— ํ•™์Šต์‹œํ‚ค๋‹ˆ๊นŒ ์ž˜ ๋˜์—ˆ๋‹ค(!!!) ์ฃผ๋ง๋™์•ˆ ์—ด์‹ฌํžˆ.. ์ž˜.. ํ•™์Šต๋˜๊ธฐ๋ฅผ..๐Ÿ™

728x90
Comments