11.7.2. Quarkus 함수 템플릿 구조
Knative(kn) CLI를 사용하여 Quarkus 함수를 생성할 때 프로젝트 디렉터리는 일반적인 Maven 프로젝트와 유사합니다. 또한 프로젝트에는 함수 구성에 사용되는 func.yaml 파일이 포함되어 있습니다.
http 및 event 트리거 함수 모두 동일한 템플릿 구조를 갖습니다.
템플릿 구조
.
├── func.yaml
├── mvnw
├── mvnw.cmd
├── pom.xml
├── README.md
└── src
├── main
│ ├── java
│ │ └── functions
│ │ ├── Function.java
│ │ ├── Input.java
│ │ └── Output.java
│ └── resources
│ └── application.properties
└── test
└── java
└── functions
├── FunctionTest.java
└── NativeFunctionIT.java
- 1
- 이미지 이름과 레지스트리를 결정하는 데 사용됩니다.
- 2
- POM(Project Object Model) 파일에는 종속성에 대한 정보와 같은 프로젝트 구성이 포함되어 있습니다. 이 파일을 수정하여 다른 종속 항목을 추가할 수 있습니다.
추가 종속 항목 예
... <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> <dependency> <groupId>org.assertj</groupId> <artifactId>assertj-core</artifactId> <version>3.8.0</version> <scope>test</scope> </dependency> </dependencies> ...종속성은 첫 번째 컴파일 중에 다운로드됩니다.
- 3
- 함수 프로젝트에는
@Funq주석이 추가된 Java 메서드가 포함되어야 합니다. 이 메서드를Function.java클래스에 배치할 수 있습니다. - 4
- 함수의 로컬 테스트에 사용할 수 있는 간단한 테스트 케이스가 포함되어 있습니다.