11.6.3. Go 함수 호출 정보

Knative(kn) CLI를 사용하여 함수 프로젝트를 생성할 때 CloudEvents에 응답하는 프로젝트 또는 간단한 HTTP 요청에 응답하는 프로젝트를 생성할 수 있습니다. Go 함수는 HTTP 요청 또는 CloudEvent에 의해 트리거되는지 여부에 따라 다양한 방법을 사용하여 호출됩니다.

11.6.3.1. HTTP 요청에 의해 트리거된 함수

들어오는 HTTP 요청이 수신되면 표준 Go Context 를 첫 번째 매개 변수로 사용하여 함수를 호출한 다음 http.ResponseWriterhttp.Request 매개변수를 사용합니다. 표준 Go 기술을 사용하여 요청에 액세스하고 함수에 대한 해당 HTTP 응답을 설정할 수 있습니다.

HTTP 응답의 예

func Handle(ctx context.Context, res http.ResponseWriter, req *http.Request) {
  // Read body
  body, err := ioutil.ReadAll(req.Body)
  defer req.Body.Close()
  if err != nil {
	http.Error(res, err.Error(), 500)
	return
  }
  // Process body and function logic
  // ...
}