본문 바로가기
NLP/프로젝트

Azure Function - Windows setting

by ㅣlㅣl 2024. 12. 9.

프로젝트를 진행하던 중, 기존에 쓰던 AWS가 비용이 너무 많이 나가는 바람에... 

무료 토큰이 제공되는 Azure로 배포 플랫폼을 바꾸기로 결정했다.

 

Windows Local 환경에서 Azure function을 설치하고 실행하는 방법에 대해 알아보고자 포스팅을 시작했다.

 


 

0. pre-requisite

Azure Functions를 로컬에서 실행하기 위해서는 Azure Function Core Tools가 필요하며, 이를 위해서 Node.js를 설치해야 한다.

 

Node.js — Download Node.js®

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.

nodejs.org

 

 

  • vscode extension - "Azure Functions"

 

 

 

1. Azure Functions 프로젝트 초기화

프로젝트 디렉토리에서 Azure Functions 프로젝트를 초기화한다.

func init . --python

이렇게 뜨면 성공!

 

2. app.py (Flask)

app.py에 작동을 원하는 코드를 생성한다.

https://learn.microsoft.com/ko-kr/azure/app-service/configure-language-python

 

3. local.settings.json

여기서 환경 변수에 필요한 값들을 입력하면 된다. 

나는 팀원에게 받아둔 게 있어서 그대로 복붙했다.

// local.settings.json 예시
{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "",
    "FUNCTIONS_WORKER_RUNTIME": "python",
    "OPENAI_KEY": "your_openai_key",
    "MONGODB_ATLAS_CLUSTER_URI": "your_mongodb_uri"
  }
}

 

4. requirements.txt & venv install and activate

프로젝트 초기화 이후 venv 폴더가 생성되어 있을 것이다.

requirements.txt에 필요한 패키지를 명시하고, .venv에 설치한다.

python -m venv .venv
# Windows
source .venv/Scripts/activate
# Mac
source .venv/bin/activate
pip install -r requirements.txt

 

 

5. 터미널에서 명령어 실행

func start

 

 

6. 함수 테스트

Postman을 사용하여 함수 테스트를 진행했다.

// (GET) get_echo_call
http://localhost:7071/api/get_test/{param}

// (POST) question
http://localhost:7071/api/question