윈도우에서 아나콘다 설치하는 방법에 대해서 알아보도록 하자.
아나콘다는 파이썬을 이용한 data science tools, MLOps, data & model management를 제공한다.
가상환경을 만들때 플랫폼으로 많은 파이썬 유저들이 사용하고 있다.
아나콘다 설치하러 ㄱㄱ 윈도우 다운로드
https://www.anaconda.com/download#downloads
맥OS이나 Linux 라면 wget [설치경로] 명령어로 설치 가능
실행파일로 설치 후 아나콘다 네비게이터 실행
가상환경을 새로 만들기 위해 왼쪽의 Environments 클릭
아래의 Create 버튼 클릭 -> 가상환경 이름 작성하여 생성하면 끝
오른쪽의 실행 버튼으로 본인에게 편한 환경(나의 경우 terminal)을 클릭해서 open해주면 된다
pip install fastAPI[all]
pip install "fastAPI[all]" # 위 명령어가 '[ ]' 때문에 안먹힌다면(파싱에러)
간단한 api를 만들기 위한 폴더로 이동한다
app.py 파일을 만들어준 후 아래 코드를 붙여넣는다
vi app.py
from fastapi import FastAPI
import redis
app = FastAPI()
redis_client = redis.Redis(host='localhost', port=6379, db=0)
@app.get("/items/{id}")
def read_item(id: str):
value = redis_client.get(id)
if value:
return {"id":id, "value":value.decode()}
else:
return {"message":"Item not Found"}
@app.post("/items/{id}")
def create_item(id:str, value:str):
if redis_client.get(id):
return {"message": "Item already exists"}
else:
redis_client.set(id, value)
return {"id":id, "value":value}
@app.put("/items/{id}")
def update_item(id:str, value:str):
if redis_client.get(id):
redis_client.set(id, value)
return {"id":id, "value":value}
else:
return {"message": "Item not Found"}
@app.delete("/items/{id}")
def delete_item(id:str):
if redis_client.get(id):
redis_client.delete(id)
return {"message": "Item deleted"}
else:
return {"message": "Item not Found"}
내가 가진 DB에 연결하기 위하여 필자는 redis.Redis(host='localhost', port=6379, db=0)
로 redis를 이용하였는데, 로컬 redis를 이용한다면 해당 코드를 그대로 이용하면 될 것이고, AWS에 연결하고자 한다면, host 값에 기본 엔드포인트를 작성하거나 localhost:6379에 터널링하면 된다 (터널링 방법은 맨 밑에 기술하겠다)
uvicorn 으로 작성한 파일을 실행시켜준다
127.0.0.1:8000
브라우저에서 접속해본다. 해당 화면이 정상적인 화면임.127.0.0.1:8000/docs
우리는 Swagger-ui를 통해 확인해보겠다. 우리가 만든 API가 잘 나타나는 모습이다! 컬러풀한 칩을 클릭하고 자세한 api 상세를 살펴볼 수 있다.코드는 위의 코드를 사용하면서, AWS redis를 사용하기 위해 터널링을 진행하도록 하겠다
C:\keys> ssh -i "키파일.pem" -L 6379:[redis 기본 엔드포인트]:6379 ubuntu@[터널링할 ec2 ipv4 주소]