You are viewing an old version of this page. View the current version.
        
        
            Compare with Current
                        View Page History
        
        
                            « Previous
            
            
                                     Version 14
                            
                            Next »
            
        
     
            
                                            
        
                           
        01. 실행환경 청사진

02. 개요
- 인프라를 명시적으로 프로비저닝하거나 관리할 필요 없이 이벤트 트리거 코드를 실행할 수 있는 서버리스 컴퓨팅 서비스입니다. "주문형 컴퓨팅" 기능은 경량 통합 및 일회성 지원 기능을 사용할 수 있습니다. 또한 웹 API 제공, 데이터베이스 변경 사항 대응, IoT 데이터 스트림 처리 및 메시지 큐 관리에도 사용할 수 있습니다.
- 구현예 : 서버리스 이벤트 처리
- 더 많은예 : Azure Functions
03. 사전조건
04. Azure Functions 프로젝트 생성
- New Project로 Azure Functions를 찾고, HttpTrigger를 선택합니다.

- Application을 정의하고 Next를 선택합니다.

- Project이름과, Project Location을 정의 합니다.

- Project가 생성되면 다음과 같이 보여집니다.

05. Azure Functions 코드 살펴보기
package org.example.functions;
import com.microsoft.azure.functions.ExecutionContext;
import com.microsoft.azure.functions.HttpMethod;
import com.microsoft.azure.functions.HttpRequestMessage;
import com.microsoft.azure.functions.HttpResponseMessage;
import com.microsoft.azure.functions.HttpStatus;
import com.microsoft.azure.functions.annotation.AuthorizationLevel;
import com.microsoft.azure.functions.annotation.FunctionName;
import com.microsoft.azure.functions.annotation.HttpTrigger;
import java.util.Optional;
/**
 * Azure Functions with HTTP Trigger.
 */
public class HttpTriggerFunction {
    /**
     * This function listens at endpoint "/api/HttpExample". Two ways to invoke it using "curl" command in bash:
     * 1. curl -d "HTTP Body" {your host}/api/HttpExample
     * 2. curl "{your host}/api/HttpExample?name=HTTP%20Query"
     */
    @FunctionName("HttpExample")
    public HttpResponseMessage run(
            @HttpTrigger(
                name = "req",
                methods = {HttpMethod.GET, HttpMethod.POST},
                authLevel = AuthorizationLevel.ANONYMOUS)
                HttpRequestMessage<Optional<String>> request,
            final ExecutionContext context) {
        context.getLogger().info("Java HTTP trigger processed a request.");
        // Parse query parameter
        final String query = request.getQueryParameters().get("name");
        final String name = request.getBody().orElse(query);
        if (name == null) {
            return request.createResponseBuilder(HttpStatus.BAD_REQUEST).body("Please pass a name on the query string or in the request body").build();
        } else {
            return request.createResponseBuilder(HttpStatus.OK).body("Hello, " + name).build();
        }
    }
}
 06. Azure Functions 앱 실행
- Maven명령으로 Azure-functions를 실행 합니다.
C:\workspace\azure-function-examples>mvn clean package azure-functions:run
[INFO] Scanning for projects...
[INFO]
[INFO] ----------------< com.example:azure-function-examples >-----------------
[INFO] Building Azure Java Functions 1.0.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
~~~~~~~~~~~~~~~~~~~~~  중략 ~~~~~~~~~~~~~~~~~~~~~~~~
        HttpExample: [GET,POST] http://localhost:7071/api/HttpExample
 
07. Deploy Azure Functions




08. IDE에서 Azure Functions 관리
