Java 및 Eclipse를 사용 하 여 첫 번째 함수 만들기Create your first function with Java and Eclipse

이 문서에서는 Eclipse IDE 및 Apache Maven을 통해 서버리스 함수 프로젝트를 만들고, 테스트 및 디버그한 다음, Azure Functions에 배포하는 방법을 보여줍니다.This article shows you how to create a serverless function project with the Eclipse IDE and Apache Maven, test and debug it, then deploy it to Azure Functions.

Azure 구독이 아직 없는 경우 시작하기 전에 체험 계정을 만듭니다.If you don't have an Azure subscription, create a free account before you begin.

개발 환경 설정Set up your development environment

Java 및 Eclipse를 통해 함수 앱을 개발하려면 다음을 설치해야 합니다.To develop a functions app with Java and Eclipse, you must have the following installed:

중요

이 퀵 스타트를 완료하려면 JAVA_HOME 환경 변수를 JDK 설치 위치로 설정해야 합니다.The JAVA_HOME environment variable must be set to the install location of the JDK to complete this quickstart.

Azure Functions를 실행 및 디버그하기 위한 로컬 환경을 제공하는 Azure Functions Core Tools 버전 2를 설치하는 것이 좋습니다.It's highly recommended to also install Azure Functions Core Tools, version 2, which provide a local environment for running and debugging Azure Functions.

Functions 프로젝트 만들기Create a Functions project

  1. Eclipse에서 파일 메뉴를 선택한 다음, > Maven 프로젝트를 선택 합니다.In Eclipse, select the File menu, then select New -> Maven Project.
  2. New Maven Project 대화 상자의 기본값을 그대로 두고 Next(다음)를 선택합니다.Accept the defaults in the New Maven Project dialogue and select Next.
  3. Add Archetype을 선택하고 azure-functions-archetype에 대한 항목을 추가합니다.Select Add Archetype and add the entries for the azure-functions-archetype.
    • Archetype Group ID: com.microsoft.azureArchetype Group ID: com.microsoft.azure
    • Archetype Artifact ID: azure-functions-archetypeArchetype Artifact ID: azure-functions-archetype
    • 버전: 중앙 리포지토리에서 EclipseMaven create의 최신 버전 1.22을 사용 합니다.Version: Use latest version 1.22 from the central repository Eclipse Maven create
  4. 확인 을 클릭 한 후 다음을 클릭 하 여 다음 스냅숏과 같은 값을 입력 하 고 ( fabrikam-함수-20170920120101928이외의 다른 appName을 사용 하세요.) 결국 완료합니다.Click OK and then click Next to enter values like the following snapshot(please use a different appName other than fabrikam-function-20170920120101928), and eventually Finish. Eclipse Maven create2Eclipse Maven create2

Maven은 이름이 _artifactId_인 새 폴더에 프로젝트 파일을 만듭니다.Maven creates the project files in a new folder with a name of artifactId. 프로젝트에서 생성된 코드는 HTTP 트리거 요청의 본문을 에코하는 간단한 HTTP 트리거 함수입니다.The generated code in the project is a simple HTTP triggered function that echoes the body of the triggering HTTP request.

IDE에서 로컬로 함수 실행Run functions locally in the IDE

참고

로컬에서 함수를 실행하고 디버그하려면 Azure Functions Core Tools 버전 2를 설치해야 합니다.Azure Functions Core Tools, version 2 must be installed to run and debug functions locally.

  1. 생성된 프로젝트를 마우스 오른쪽 단추로 클릭한 다음 Run As(다음으로 실행)와 Maven build를 선택합니다.Right-click on the generated project, then choose Run As and Maven build.
  2. Edit Configuration(구성 편집) 대화 상자에서 Goals(목표) 및 Name(이름) 필드에 package를 입력한 다음, Run(실행)을 선택합니다.In the Edit Configuration dialog, Enter package in the Goals and Name fields, then select Run. 그러면 함수 코드가 빌드되고 패키지됩니다.This will build and package the function code.
  3. 빌드가 완료되면 azure-functions:run을 목표 및 이름으로 사용하여 위와 같이 다른 실행 구성을 만듭니다.Once the build is complete, create another Run configuration as above, using azure-functions:run as the goal and name. Run(실행)을 선택하여 IDE에서 함수를 실행합니다.Select Run to run the function in the IDE.

함수 테스트가 끝나면 콘솔 창에서 런타임을 종료합니다.Terminate the runtime in the console window when you're done testing your function. 한 번에 하나의 함수 호스트만 활성화되고 로컬로 실행될 수 있습니다.Only one function host can be active and running locally at a time.

Eclipse에서 함수 디버그Debug the function in Eclipse

이전 단계의 Run As(다음으로 실행) 구성 설정에서 azure-functions:runazure-functions:run -DenableDebug로 변경하고 업데이트된 구성을 실행하여 디버그 모드로 함수 앱을 시작합니다.In your Run As configuration set up in the previous step, change azure-functions:run to azure-functions:run -DenableDebug and run the updated configuration to start the function app in debug mode.

Run(실행) 메뉴를 선택하고 Debug Configurations(디버그 구성)을 엽니다.Select the Run menu and open Debug Configurations. Remote Java Application(원격 Java 애플리케이션)을 선택하고 새 항목을 만듭니다.Choose Remote Java Application and create a new one. 구성에 이름을 지정하고 설정을 입력합니다.Give your configuration a name and fill in the settings. 포트는 함수 호스트에 의해 열린 디버그 포트(기본값: 5005)와 일치해야 합니다.The port should be consistent with the debug port opened by function host, which by default is 5005. 설정 후 Debug를 클릭하여 디버그를 시작합니다.After setup, click on Debug to start debugging.

Eclipse에서 함수 디버깅

IDE를 사용하여 함수에서 중단점을 설정하고 개체를 검사합니다.Set breakpoints and inspect objects in your function using the IDE. 완료되면 디버거 및 실행 중인 함수 호스트를 중지합니다.When finished, stop the debugger and the running function host. 한 번에 하나의 함수 호스트만 활성화되고 로컬로 실행될 수 있습니다.Only one function host can be active and running locally at a time.

Azure에 함수 배포Deploy the function to Azure

Azure Functions에 대한 배포 프로세스는 Azure CLI의 계정 자격 증명을 사용합니다.The deploy process to Azure Functions uses account credentials from the Azure CLI. 컴퓨터의 명령 프롬프트를 계속 사용하기 전에 Azure CLI를 통해 로그인합니다.Log in with the Azure CLI before continuing using your computer's command prompt.

az login

Run As(다음으로 실행) 구성에서 azure-functions:deploy Maven 목표를 사용하여 새 함수 앱에 코드를 배포합니다.Deploy your code into a new Function app using the azure-functions:deploy Maven goal in a new Run As configuration.

배포가 완료되면 Azure 함수 앱에 액세스하는 데 사용할 수 있는 URL이 표시됩니다.When the deploy is complete, you see the URL you can use to access your Azure function app:

[INFO] Successfully deployed Function App with package.
[INFO] Deleting deployment package from Azure Storage...
[INFO] Successfully deleted deployment package fabrikam-function-20170920120101928.20170920143621915.zip
[INFO] Successfully deployed Function App at https://fabrikam-function-20170920120101928.azurewebsites.net
[INFO] ------------------------------------------------------------------------

다음 단계Next steps

  • Java 함수 개발에 대한 자세한 내용은 Java 함수 개발자 가이드를 참조합니다.Review the Java Functions developer guide for more information on developing Java functions.
  • azure-functions:add Maven 대상을 사용하여 프로젝트에 다른 트리거가 있는 다른 함수를 추가합니다.Add additional functions with different triggers to your project using the azure-functions:add Maven target.