Azure Function - Local Project 생성

2021. 7. 5. 15:05Cloud Engineering

Azure Function을 실행하기 위한 Local Setting을 진행한 후 실제로 Local환경에 Project를 생성해본다.

 

1. Project 생성

  Azure Extension에서 Functions Tap에 Create New Project를 눌러 준다.

Create New Project

2. Project가 생성될 폴더를 지정한다.

Select Folder

3. Project에 사용할 프로그래밍 언어를 선택한다.

프로그래밍 언어 선택

우선 우리는 언어를 파이썬으로 사용할 것이며

언어를 선택했다면 언어의 버전도 선택해 준다. 

 

4. Azure Function에서 제공하는 Trigger Template선택 

Azure Function Template

이중 Azure Blob Storage에 Blob이 생성될 경우 함수를 실행하는 Azure Blob Trigger를 이용해 보도록 하겠다.

 

5. 이름 지정과 로컬세팅 생성

함수의 이름 지정
로컬 세팅 추가

Deploy를 할 경우 Azure Cloud 환경에서 코드가 동작하게 된다 하지만 우리는 지금 로컬에서 작성 및 테스트를 하기위한 환경을 만들고 있기 때문에 현재의 로컬에 대하여 세팅을 해야 한다. 이때 사용하는 것이 바로 이 

Local.setting.json 파일이다.

구독 지정
WebJobStorage 생성

갑자기 뜬금없이 BlobStorage를 생성하라는 명령이 나오는데 이는 이 함수가 Trigger를 감지 할때 사용할 blob을 지정하라는 의미이다. 필자는 Datasource123 blob Storage에 걸어줄 예정으로 저 Blob Storage를 지정하도록 하겠다. 

만약 Blob Storage가 아직 없는 경우 

<<+ Create New storage account>> 를 눌러 신규로 생성해 주도록 한다. 

Container 지정

Trigger가 걸릴 Blob Storage를 설정했다면 더 깊게 들어가 Container를 설정해주어야 한다. 

저기 보이는 이름을 보면 

samples-workitems/{name}

 

# samples-workitems --> Container 이름 

내가 Trigger로 사용하고 싶은 컨테이너의 이름을 집어 넣으면 된다.

# {name} --> blob name

Container안에 생성되는 파일의 이름을 감지한다. {name}으로 지정되어있으면 

그냥 생성 되는대로 바로 감지한다 이름에 따른 분류를 할수 있는 다양한 방법이 있지만 너무 많기때문에

궁금하다면 ... MS 공식 Docs를 참고 바란다...

아마.. blob Storage trigger로 검색하면 나올거다.

 

6. 생성 결과 확인

생성 결과
Azure Function.json 파일

이미지의 test_trigger1 을 누르면 아래와 같은 Function.json 파일이 나오는데 잘보면 아까 설정한 내용들이 들어있는것을 볼 수 있다. 

 

폴더로 이동해보면

탐색기 화면

__init__.py가 보이는데 저 친구가 코드를 입력하는 파이썬 파일이다. 내부는 다음과 같고 이 파일을 확인하면 로컬에서 생성 부분은 끝이 난다.

__init__.py 파일

내부가 잘 구성되어 있고 확인이 끝나면 다음으로 넘어간다.