Azure

로컬 VSCode로 Azure Blob Storage Trigger Function개발하기

whistory 2023. 7. 6. 14:27
반응형

 

Azure Blob Storage Trigger의 Azure Function을 개발하고 싶다.

디버깅을 위해서 Local 의 VSCode 에서 실행해 로그를 찍어보고 싶다.

 

 

0. Azure Functions Core Tools 설치

 

 

Work with Azure Functions Core Tools

Learn how to code and test Azure Functions from the command prompt or terminal on your local computer before you run them on Azure Functions.

learn.microsoft.com

Local 환경에서 Azure functions 개발을 하기 위해서는

Azure Functions Core Tools 설치가 필수이다.

 

Local 환경에서 trigger를 catch 하기 위해 python 코드가 실행되고 있어야 하기 때문에, 제공되는 프로그램을 설치하고 개발을 진행해야 한다.

 

1. 새로운 프로젝트 생성

1.1 개발을 진행할 폴더 선택

 

1.2 Create Functions

Azure Extension 의 WORKSPASCE에서 [Create Function] 을 실행

 

 

생성 할 Functions의 정보를 입력한다.

 

 

 

생성중…

 

 

 

[Explorer] 로 들어가 보면 프로젝트가 생성되어 있다.

 

 

 

2. 프로젝트 설정

2.1 local.setting.json 수정

AzureWebJobsStorage 로 사용할 Connection String을 입력한다.

 

 

2.2 requirements.txt 실행

azure-functions 패키지를 설치한다.

pip install -r requirements.txt

 

 

 

2.3 host.json 수정

Azure Functions Core Tools 실행 명령어는

func start

이다.

실행하면 이런 에러메세지가 나온다.

 

버전의 이슈가 있어 host.json 파일을 수정해준다.

 

 

3. 실행

기본적으로 생성되는 테스트 python 코드

## __init__.py
import logging

import azure.functions as func

def main(myblob: func.InputStream):
    logging.info(f"Python blob trigger function processed blob \\n"
                 f"Name: {myblob.name}\\n"
                 f"Blob Size: {myblob.length} bytes")

실행해본다.

func start

처음 실행되면 해당 디렉토리에 있는 모든 파일들을 다 읽어온다.

 

Blob Storage에 a0012.pdf 파일을 업로드해보면

 

콘솔에서 a0012.pdf 파일의 정보를 확인 할 수 있다.

 

 

 

 

 

반응형