Azure Functions Core Tools v3.x를 사용하여 로컬 함수 프로젝트를 개발하는 방법

개시하다


Azure Function을 활용한 로컬 함수 프로젝트의 개발 방법에 대해서는 공식 홈페이지'Azure Function Core Tools 작업에서 자세히 안내했다.
이 페이지의 진행률에 따라 Azure Function Core Tools 버전v2.x은 순조롭게 실행되지만 v3.x에서는 정상적으로 실행되지 않습니다.
//Node.js 13.x 이후의 경우에만 사용 가능
또한 Azure Function이 F#에 해당하는 경우에도 Azure Function Core Tools를 사용하여 F#의 로컬 함수 항목을 만들 수 없습니다.
그럼 이번에는 (1) Azure Function Core Toolsv3.나는 x를 이용하는 동시에 (2) F#로 로컬 함수 프로젝트를 개발하는 방법을 소개하고 싶다.

전제 조건


필자의 동작 환경은 다음과 같다.
이름:
릴리즈
Windows 10 64bit
1903
Visual Studio Code
1.46.1
.NET Core
3.1.301
node
14.1.0
npm
6.14.5
버전의 업데이트로 인해 이번에는 대응할 필요가 없을 가능성이 높아질 것이라고 생각합니다.

Azure Functions Core Tools v3.x의 가져오기


다음 명령을 사용하여 Azure Function Core Tools v3.x를 설치합니다.
powershell
npm install -g azure-functions-core-tools@3 --unsafe-perm true
이렇게 되면 다운로드가 아직 끝나지 않아도 설치 처리가 끝난다.
# <中略>
attempting to GET "https://functionscdn.azureedge.net/public/3.0.2534/Azure.Functions.Cli.win-x64.3.0.2534.zip"
[------------------] Downloading Azure Functions Core Tools+ azure-functions-core-tools@3.0.2534
updated 6 packages in 1.289s
다음 명령을 실행하고azure-functions-core-tools에 들어갑니다[email protected]설치하다.
powershell
cd $env:AppData/npm/node_modules/azure-functions-core-tools
npm install unzipper@0.10.7
node .\lib\install.js
Issue: Any'func'command does not work#1804 참조
따라서 Azure Function Core Tools v3는 안전합니다.x를 설치합니다.
이렇게 되면 축하할 만한 지령을 사용할 수 있게 된다.

F#로 로컬 함수 프로젝트 만들기


일반적으로 funcinit 명령을 사용하여 로컬 함수 프로젝트를 만들 수 있습니다.
2010/06/23 현재 C#/Java/JavaScript/TypeScript/PowerShell/Python의 6개 언어는 지정된 옵션을 통해 프로젝트를 즉시 만들 수 있습니다.
예, F#을 제외한 모든 언어에 해당합니다!!
//마이크로소프트는 이렇다
그렇다면 F#은 어떻게 하면 좋을까요? 어쩔 수 없이 C# 항목만 수정할 수 있기 때문입니다.
우선 다음 명령을 사용하여 로컬 함수 프로젝트를 만듭니다.
powershell
func init SampleFuncProj
다음 옵션이 나타납니다.dotnet을 선택하십시오.
image.png
실행이 완료되면 로컬 함수 프로젝트가 완성됩니다.
VS코드로 이것을 시작합니다.
powershell
code ./SampleFuncProj
VS코드에서는 다음과 같은 구성이 될 것 같습니다.
image.png
다음은 SampleFuncProj입니다.SampleFuncProj.fsproj로 이름을 변경합니다.
다음은 SampleFuncProj입니다.fsproj 내의 다음 부분을 덮어씁니다.
SampleFuncProj.fsproj
<!-- <None Update="host.json"> --> 10行目あたりのコード
     <None Include="host.json">
Issue: Host 참조.json file in missing #1963
수정되면 이렇게 될 것 같아서요.
image.png
이렇게 하면 F#가 사용하는 로컬 함수 항목이 완성됩니다!

경품: F#의 로컬 함수 프로젝트에서 Hello, World


Visual Studio에서 fsproj를 켜면 C#와 같이 개발할 수 있는데, 이번에는 VScode를 활용한 개발 방법을 소개한다.
hello.fs라는 파일, SampleFuncProj를 만듭니다.fsproj는 다음과 같이 수정되었습니다.
image.png
※ 파일에 대한 추가는 ionide를 사용하면 fsproj에 대상 파일에 대한 정보를 자동으로 반영하므로 사용하는 것이 좋습니다.
다음은 헬로.fs는 다음과 같다.
hello.fs
module Hello

open Microsoft.AspNetCore.Mvc
open Microsoft.Azure.WebJobs
open Microsoft.Azure.WebJobs.Extensions.Http
open Microsoft.AspNetCore.Http

[<FunctionName("hello")>]
let run ([<HttpTrigger(AuthorizationLevel.Function, "post", "get", Route = null)>] req: HttpRequest) =
    OkObjectResult "Hello, World" :> ActionResult
마지막으로 다음 명령을 실행하여 Azure Function을 로컬로 수행할 수 있습니다.
powershell
func start --build
다음 끝점에 액세스하여 수행할 수 있습니다.
image.png
image.png


VScode에는 Azure Function의 확장 기능이 포함되어 있으며 로컬 함수 프로젝트를 열 때 다음과 같은 정보가 표시됩니다.
image.png
이렇게 하면 "예"를 선택하면 F5에서 디버깅을 할 수 있습니다.
물론 인터럽트를 설정하고 단계를 실행할 수도 있습니다.
VS코드에서 Azure Function을 개발한다면 꼭 사용해 보세요.
[이미지 참조]
image.png

좋은 웹페이지 즐겨찾기