spring tool suite에서 AzureFunctions 프로젝트 만들기
4356 단어 AzureFunctionsspring
프로젝트 만들기
spring tool suite를 시작하면
왼쪽 상단의 [파일] → [신규] → [Maven 프로젝트]를 선택
기본 작업 공간 설정 (요약 프로젝트 폴더의 출력 대상)을 설정하면 다음
아키타입 추가를 선택합니다.
아키타입 그룹 ID:com.microsoft.azure
아키타입 아티팩트 ID:azure-functions-archetype
아키타입 버전:1.20(19/3 시점의 최신.참조: Maven Archetype For Azure Functions )
선택
추가한 아키타입을 선택하고 다음.
그룹 ID 등을 임의의 값으로 입력.
(예)
groupId: hoge
artifactId: hoge.functions
버전: 1.3.0
appName: hoge
appRegion: kr
resourceGroup: hoge.resource
버전 참조: Maven Plugin For Azure Functions 버전 목록
프로젝트 실행하기
Java11에서는 현재 지원되지 않습니다.
현시점에서는 AzureFunctions는 Java8까지밖에 서포트하고 있지 않기 때문에 Java11로 실행하려고 해도 실행할 수 없다.
참조 : Azure Functions에서 지원되는 언어
Failed to execute goal com.microsoft.azure:azure-functions-maven-plugin:1.3.0:package (package-functions) on project hoge.functions: Local JDK version 11.0.2 does not meet the requirement of the Maven plugin for Azure Functions. The supported version is JDK 8
그래서 자신의 환경에서는 zulu-8을 사용하여 실행하고 있다.
[프로젝트]를 마우스 오른쪽 버튼으로 클릭 → [빌드 경로] → [빌드 경로 구성]에서 JRE 시스템 라이브러리가 Java8 계열인지 확인.
그렇지 않은 경우 라이브러리 추가에서 JRE 시스템 라이브러리를 선택합니다.
[설치된 JRE]에서 [추가]를 선택하여 JDK까지의 Path를 설정합니다.
로컬에서 AzureFunctions의 동작 확인
※프로젝트의 아이콘에 × 마크가 있는 경우는 [프로젝트]를 오른쪽 클릭→[Maven]→[프로젝트의 갱신]
빌드
[프로젝트]를 오른쪽 클릭 → [실행]에서 Maven Clean,Maven install,Maven 빌드를 순서대로 실행한다.
AzureFunctions 실행
[프로젝트]를 오른쪽 클릭 → [로컬 터미널에 표시]를 선택하고 아래에 터미널이 표시되므로 다음을 실행.
mvn azure-functions:run
그러면 번개 같은 마크가 출력될 것.
AzureFunctions에 액세스해 보기
출력된 문자열에 아래와 같은 URL이 기술되어 있으므로 액세스 해 본다.
우선 처음에 localhost:7071에 액세스하면 이런 느낌의 화면이 된다.
다음에 디폴트로 작성되고 있는 Function에 액세스 해 본다.
디폴트의 함수의 기능은 name로서 받은 문자에 hello를 덧붙이는 것만의 기능.
@FunctionName("HttpTrigger-Java")
public HttpResponseMessage run(
@HttpTrigger(name = "req", methods = {HttpMethod.GET, HttpMethod.POST}, authLevel = AuthorizationLevel.FUNCTION) HttpRequestMessage<Optional<String>> request,
final ExecutionContext context) {
context.getLogger().info("Java HTTP trigger processed a request.");
// Parse query parameter
String query = request.getQueryParameters().get("name");
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();
}
}
별도로 명령 프롬프트를 시작하고 다음 명령을 실행합니다.
curl http://localhost:7071/api/HttpTrigger-Java?name=world
Hello,world
다음 명령으로도 가능.
curl -w '\n' -d world http://localhost:7071/api/HttpTrigger-Java
참고 기사
java에서 Azure functions
Reference
이 문제에 관하여(spring tool suite에서 AzureFunctions 프로젝트 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/west_ryo/items/7e3b332ed51c337289f4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)