검색

11.6.3.2. 클라우드 이벤트에서 트리거한 함수

download PDF

들어오는 클라우드 이벤트가 수신되면 CloudEvents Go SDK 에서 이벤트를 호출합니다. 호출은 이벤트 유형을 매개 변수로 사용합니다.

지원되는 함수 서명 목록에 표시된 대로 Go Context 를 함수 계약의 선택적 매개변수로 활용할 수 있습니다.

지원되는 함수 서명

Handle()
Handle() error
Handle(context.Context)
Handle(context.Context) error
Handle(cloudevents.Event)
Handle(cloudevents.Event) error
Handle(context.Context, cloudevents.Event)
Handle(context.Context, cloudevents.Event) error
Handle(cloudevents.Event) *cloudevents.Event
Handle(cloudevents.Event) (*cloudevents.Event, error)
Handle(context.Context, cloudevents.Event) *cloudevents.Event
Handle(context.Context, cloudevents.Event) (*cloudevents.Event, error)

11.6.3.2.1. CloudEvent 트리거 예

데이터 속성에 JSON 문자열이 포함된 클라우드 이벤트가 수신됩니다.

{
  "customerId": "0123456",
  "productId": "6543210"
}

이 데이터에 액세스하려면 클라우드 이벤트 데이터에서 속성을 매핑하는 구조를 정의하고 들어오는 이벤트에서 데이터를 검색해야 합니다. 다음 예제에서는 Purchase 구조를 사용합니다.

type Purchase struct {
  CustomerId string `json:"customerId"`
  ProductId  string `json:"productId"`
}
func Handle(ctx context.Context, event cloudevents.Event) (err error) {

  purchase := &Purchase{}
  if err = event.DataAs(purchase); err != nil {
	fmt.Fprintf(os.Stderr, "failed to parse incoming CloudEvent %s\n", err)
	return
  }
  // ...
}

또는 Go encoding/json 패키지를 사용하여 바이트 배열 형식의 JSON으로 클라우드 이벤트에 직접 액세스할 수 있습니다.

func Handle(ctx context.Context, event cloudevents.Event) {
  bytes, err := json.Marshal(event)
  // ...
}
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.