11.5.2. Go 함수 템플릿 구조

Knative(kn) CLI를 사용하여 Go 함수를 생성할 때 프로젝트 디렉터리는 일반적인 Go 프로젝트와 같습니다. 유일한 예외는 추가 func.yaml 구성 파일이며 이미지를 지정하는 데 사용됩니다.

Go 기능에는 몇 가지 제한 사항이 있습니다. 유일한 요구 사항은 프로젝트를 function 모듈에 정의해야 하며, 함수 Handle()을 내보내야 한다는 것입니다.

httpevent 트리거 함수 모두 동일한 템플릿 구조를 갖습니다.

템플릿 구조

fn
├── README.md
├── func.yaml 1
├── go.mod 2
├── go.sum
├── handle.go
└── handle_test.go

1
func.yaml 구성 파일은 이미지 이름과 레지스트리를 결정하는 데 사용됩니다.
2
필요한 모든 종속 항목을 go.mod 파일에 추가할 수 있으며 여기에는 추가 로컬 Go 파일이 포함될 수 있습니다. 프로젝트가 배포용으로 빌드되면 이러한 종속성이 결과로 생성된 런타임 컨테이너 이미지에 포함됩니다.

종속성 추가 예

$ go get gopkg.in/yaml.v2@v2.4.0